作法
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
沒有留言:
張貼留言