1
我有這些表:
我有一個像cat1,cat2,cat3,cat4
那樣想傳遞給sql server存儲過程的數組。
然後檢查它們是否存在於PaperKeywors的表中。 如果是,則插入PKeyID
主題和PID
(例如PID = 1)至PaperTag
,如果沒有返回它們。
我知道我必須使用TVP,並寫在SQL代碼這些:如何將數組參數傳遞給存儲過程?
CREATE TYPE PaperKeywordsType AS TABLE
(PKeyword nvarchar(200) ,PKeyID int )
和:
Create PROCEDURE [dbo].[InsertPaperTag]
(@dt AS PaperKeywordsType READONLY , @PID int)
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.PaperTags(PID,PKeyID)
SELECT @PID,PaperKeywords.PKeyID FROM @dt tvp
inner join PaperKeywords on PaperKeywords.PKeyword = tvp.PKeyword
END
但它不是爲我工作。爲什麼?