读书人

怎的在存储过程中使用输入参数然后用

发布时间: 2012-09-14 23:00:49 作者: rapoo

怎样在存储过程中使用输入参数,然后用于 Where ...In (@参数)
定义输入参数:
@InputID varchar(100)

比如可以输入:0001,0002,0003

然后使用
...
WHERE InputID IN (@InputID) //但是这个语句不管用!

我想实现的效果是:WHERE InputID IN (0001,0002,0003)


[解决办法]
1)动态
exec('select * from tb where InputID IN ('+@InputID+')')

调用
exec procname '''0001'',''0002'',''0003'''
2)
charindex
select * from tb where charindex(','+ltrim(inputid)+',',','+@InputID+',')>0
[解决办法]
create pro p_t @s varchar(100)
as
begin
exec('select * from tb where inputid in ('+@s +')')
end

读书人网 >SQL Server

热点推荐