存储过程接收Array参数传入
当一个存储过程参数接收一个Array时,我们可以用下面方法来处理,可以很方便实现。
代码
CREATE PROCEDURE [dbo].[usp_Prod_GetByType]
(
@ArrayID NVARCHAR(100)
)
AS
--处理传入参数
DECLARE @Params NVARCHAR(100) = REPLACE(@ArrayID, ',',''',''')
--变量SQL语句,需要使用EXEC来执行
EXECUTE('SELECT * FROM [Prod] WHERE [Type] IN (''' + @Params + ''')')
(
@ArrayID NVARCHAR(100)
)
AS
--处理传入参数
DECLARE @Params NVARCHAR(100) = REPLACE(@ArrayID, ',',''',''')
--变量SQL语句,需要使用EXEC来执行
EXECUTE('SELECT * FROM [Prod] WHERE [Type] IN (''' + @Params + ''')')
在传入参考时,这个Array作为一个字符串传入即可
EXECUTE [dbo].[usp_Prod_GetByType] @ArrayID = 'g1,g3,g6,g7,g17,g23'