sql server中的in运算符问题

sql server中的in运算符问题,sql,sql-server-2005,Sql,Sql Server 2005,结果 从GROUPNAME在“库存”中的项目中选择* “手”、“商店”、“产品”味精2812,16级,州62,第9行 找不到存储过程“从GROUPNAME所在的项中选择*” 在‘库存’、‘商店’、‘产品’中 此命令 dECLARE @LS_SQL CHAR(100) dECLARE @SQL varCHAR(max) SET @LS_SQL=ltrim('''STOCK IN HAND'',''STORE'',''PRODUCT''') set @SQL='SELECT * FROM ITEM

结果

从GROUPNAME在“库存”中的项目中选择* “手”、“商店”、“产品”味精2812,16级,州62,第9行 找不到存储过程“从GROUPNAME所在的项中选择*” 在‘库存’、‘商店’、‘产品’中

此命令

dECLARE @LS_SQL CHAR(100)
dECLARE @SQL varCHAR(max)
SET @LS_SQL=ltrim('''STOCK IN HAND'',''STORE'',''PRODUCT''')

set @SQL='SELECT * FROM ITEM WHERE GROUPNAME IN(' + rtrim(@LS_SQL) + ')'
PRINT @SQL
execute @SQL
运行一个过程。如果要运行动态sql,应使用以下命令:

execute @SQL
你也可以使用

exec (@SQL)
我建议使用,比如:

您可以在此处看到更多帮助

试试这个

exec sp_executesql @stmt = @SQL

你自己读过错误信息吗?它清楚地表明未找到存储过程。您正在对需要存储过程名称的EXECUTE方法运行直接查询。
exec sp_executesql @stmt = @SQL
dECLARE @LS_SQL CHAR(100)
dECLARE @SQL varCHAR(max)
SET @LS_SQL=ltrim('''STOCK IN HAND'',''STORE'',''PRODUCT''')

set @SQL='SELECT * FROM ITEM WHERE GROUPNAME IN(' + rtrim(@LS_SQL) + ')'
PRINT @SQL
execute sp_sqlexec @SQL