テーブルLanguageTextに対応するレコードが必要なテーブルItemsがあります。LanguageTextのID(Identity)は、ItemsテーブルのItems.LanguageTextIdフィールドに登録されています。
私が達成したいのは、Items.LanguageTextIdにnullが含まれるすべてのレコードのLanguageTextとItemsをマージし、これらのItemレコードのitemname / textをLanguageTextに挿入し、LanguageTextIdを新しく挿入されたLanguageTextレコードのID値で更新することです(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]);
終わり
しかし、アイテムを更新する方法がわかりません。Languagetextid、OUTPUT $ action、INSERTED.IDで何かを行うことはできますか?それとも、これを行うためのより良い方法はありますか?
前もって感謝します、
マイク