我有一個表應該在表LanguageText中具有相應記錄的項目。 LanguageText的ID(標識)在我的Items表中的Items.LanguageTextId字段中註冊。使用合併語句在插入目標後使用標識更新源表中的字段
我想完成的是在Items.LanguageTextId中所有帶有null的記錄的LanguageText和Items之間的合併,並將這些Item記錄的itemname/text插入到LanguageText中,並使用新插入的LanguageText中的ID值更新LanguageTextId記錄(SCOPE_IDENTITY()?)
插入正常工作:
MERGE [dbo].[LanguageText] AS target
USING (SELECT [Items].* from [dbo].Items) AS source
ON (TARGET.Id = SOURCE.LanguageTextId)
WHEN NOT MATCHED By Target THEN
INSERT
([Text])
VALUES
(source.[ItemName]);
末
但我不知道如何更新我的items.Languagetextid,我可以做一些事情: OUTPUT $操作,INSERTED.ID? 還是有更好的方法來完成這個?
由於提前,
邁克
您可以使用輸出到您存儲在項目中的主鍵加上生成的ID inserted.id表變量。然後,您可以對來自項目主鍵上加入的表變量的項目進行更新。 –