首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

急传入整型“列表”参数到存储过程IN语句中的解决方法?

2012-01-26 
急!传入整型“列表”参数到存储过程IN语句中的解决办法???写了个存储过程,其中有条SQL语句为:SELECT*FROMTB1

急!传入整型“列表”参数到存储过程IN语句中的解决办法???
写了个存储过程,其中有条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 ( '+@参数+ ') ')


[解决办法]
传入的时候是要以字符串形式进行的,所以要定义一个字符类型的变量进行参数传递:
declare @s nvarchar(100)
set @s = '4,49,50 '
exec( 'SELECT * FROM TB1 WHERE ID IN ( ' + @s + ') ')

热点排行