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中输入上面的语句是可以生成预期结果的
[解决办法]
这种情况拼接就可以了,
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