写了个存储过程,其中有条SQL语句为:
SELECT * FROM TB1 WHERE ID IN (我的参数列表)
现在的问题是ID为整形数据,我应该如何传入我的参数列表呢?
比如我想传入
4,49,50
试了好久都不行,麻烦大家帮帮忙哈.
谢谢了.
------解决方案--------------------
declare @mylist varchar(1000)
declare @sql varchar(8000)
set @sql = 'SELECT * FROM TB1 WHERE ID IN ( '
set @mylist = '1,4,19 '
set @sql = @sql + @mylist + ') '
exec(@sql)
------解决方案--------------------
exec( 'SELECT * FROM TB1 WHERE ID IN ( '[email protected]+ ') ')
------解决方案--------------------
传入的时候是要以字符串形式进行的,所以要定义一个字符类型的变量进行参数传递:
declare @s nvarchar(100)
set @s = '4,49,50 '
exec( 'SELECT * FROM TB1 WHERE ID IN ( ' + @s + ') ')