SQL 书写技巧
有一个存储过程,有如下一条语句,其中 in后是一个从前天传递的参数,以下语句不用sp_executesql的动态语句,怎样写,谢谢!
select * from ta where deptID in (@s)
[解决办法]
你传入的应该是一个用逗号分隔的字符串吧。
这样的话,要用一个表值函数把字符串分解,返回表。
类似这样:
总之In的后面是一只有一列的表。
这种函数网上很多。
Create proc t
(@custid varchar(10))
as
begin
Select *
From Sales.Customers
Where custid in (Select 1 Union All Select 2 Union All Select 3);
end