日期:2014-05-20  浏览次数:20674 次

select a from tb where id in (xxx) 能不能实现参数化输入??
一般
select a from tb where id=@id 这样能实现参数化输入


如果是这样

select a from tb where id in (1,2,3,4)
参数红色字所示,能不能实现?id是int的并且直接在ssms中输入上面的语句是可以生成预期结果的

------解决方案--------------------
这种情况拼接就可以了,
SQL code
DECLARE @_Ids VARCHAR(8000);
SET @_Ids='1,2,3,4';
DECLARE @_Sql NVARCHAR(4000);
SET @_Sql=N'SELECT a from tb WHERE id IN ( '+@_Ids +');';
EXEC SP_EXECUTESQL @_Sql