存储过程中是数组型的参数,该怎么处理
存储过程中是数组型的参数
参数类型是这样的:001,002,003
请问 在存储过程中 如何使用这样参数
如传入
exec pro_test "001,002,003"
执行为select* from test where id=001 or id=002 or id=003
------解决方案--------------------
参数类型是这样的:001,002,003
请问 在存储过程中 如何使用这样参数
如传入
exec pro_test "001,002,003"
执行为select* from test where id=001 or id=002 or id=003
------解决方案--------------------
- SQL code
exec pro_test 001,002,003
------解决方案--------------------
exec pro_test "'001','002','003'"
存储过程这样写
declare @sql nvarchar(500)
select @sql='select * from test where id in('+@param+')'
exec(@sql)
------解决方案--------------------
改:exec pro_test '''001'',''002'',''003'''
------解决方案--------------------
- SQL code
create proc pro_test (@id varchar(200)) as begin declare @sql varchar(800) set @sql='select * from test where id in('+@id+')' print @sql end exec pro_test '001,002,003' --执行结果 select * from test where id in(001,002,003) 或者 exec pro_test '''001'',''002'',''003''' --执行结果 select * from test where id in('001','002','003')