sql存储过程参数单引号
下面是存储过程sql存储过程参数单引号,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,下面是存储过程 create procedure testpro @screen varchar(10) as begin declare @query varchar(max) set @query = 'SELECT * FROM -- --{code} -- WHERE SCREEN_NAME = ' + @SCREENNAME + ' AND Ord=3 ORDER BY date DESC' 这里SCREEN_NAME='Normal'应该是输入,但在上面的我的过程中,查询以SC
create procedure testpro
@screen varchar(10)
as
begin
declare @query varchar(max)
set @query = 'SELECT * FROM
--
--{code}
--
WHERE SCREEN_NAME = ' + @SCREENNAME + ' AND Ord=3 ORDER BY date DESC'
这里SCREEN_NAME='Normal'应该是输入,但在上面的我的过程中,查询以SCREEN_NAME=Normal的形式提供输入,因此显示错误,因为SCREEN NAME是varchar。。
如何在上述代码中使用单个参数给出参数您不需要将参数括在引号中。因此,只需删除引号并使用
WHERE SCREEN_NAME = @SCREENNAME ORDER BY date DESC
编辑
您需要退出”
,我还没有测试它
使用
您不需要将参数括在引号中
'
。因此,只需删除引号并使用
WHERE SCREEN_NAME = @SCREENNAME ORDER BY date DESC
编辑
您需要退出”
,我还没有测试它
使用
试试这个:
只需从查询中删除单引号'
set @query = 'SELECT * FROM'
{ Code Here }
@query = @query +' WHERE SCREEN_NAME = ''' + @SCREENNAME + ''' And Ord=3 Order By date Desc'
试试这个:
只需从查询中删除单引号'
set @query = 'SELECT * FROM'
{ Code Here }
@query = @query +' WHERE SCREEN_NAME = ''' + @SCREENNAME + ''' And Ord=3 Order By date Desc'
请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案