在存储过程中IN传入参数无效的解决方法

列:

SELECT @count=COUNT(sysid) FROM Student WHERE Id IN (@Sysids)

想要得到count

但是在in的时候,传入的参数无效,得到的结果只能为0

这时候可以将其转化成一条变量语句,然后去执行这条语句,以及输出这个变量即可

如:

SET @sql=N' SELECT @count=COUNT(sysid) FROM StudentWHERE PriceId IN ('+@Sysids+')'
  EXEC sp_executesql @sql,N'@count INT output',@count output

 

此时可以得到count的值

另外,这里注意一点,这里的@sql 类型必须为nvarchar 类型, 否则无法得到输出参数!

posted @ 2013-11-28 16:13  天空很广阔_Leo  阅读(606)  评论(0编辑  收藏  举报