存储过程接收Array参数
当使用存储过程接收一个Array参数时,我们可以用下面方法来实现,sql如下。
1 CREATE PROCEDURE [dbo].[str_to_array] 2 ( 3 @names NVARCHAR(100) 4 ) 5 AS 6 -- 处理传入参数 7 DECLARE @Params NVARCHAR(100) = REPLACE(@names, ',',''',''') 8 -- 变量SQL语句,使用EXEC来执行 9 EXECUTE('SELECT * FROM [Student] WHERE [name] IN (''' + @Params + ''')')
执行存储过程命令,如下:
EXECUTE [dbo].[str_to_array] @names = '张三,李四,王五,赵六'
模拟执行:
select REPLACE('张三,李四,王五,赵六', ',',''',''');
执行结果如下: