Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql存储过程参数单引号_Sql_Sql Server_Stored Procedures - Fatal编程技术网

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'

请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案请再次查看我的问题我已编辑并给出解决方案