作法
CREATE PROCEDURE [dbo].[usp_SelectProductByIds]
@productIds nvarchar(max)
AS
BEGIN
SET NOCOUNT ON
DECLARE @cmd nvarchar(max)
SET @cmd = N'SELECT * FROM Product WHERE id IN (' + @productIds + ')'
EXEC sp_executesql @cmd
END
簡單的說就是把本來應該要直接跑的 sql cmd 改成字串 @cmd,再把 IN 的參數拼進這份字串裡,最後利用 EXEC sp_executesql 去執行 @cmd,就可以達到效果了。
ref: StackOverFlow 、 DMXZone
沒有留言:
張貼留言