0
別のテーブルにデータを挿入しようとしています。行が存在する場合はすべての行をチェックしたい、行が存在しない場合は更新するだけで、それを挿入する(ID
に基づいて)。私はそれが次のことを試してみてくださいSQL Serverでデータが存在するかどうかを確認するその他SQL Serverのリンクサーバーに挿入する
別のテーブルにデータを挿入しようとしています。行が存在する場合はすべての行をチェックしたい、行が存在しない場合は更新するだけで、それを挿入する(ID
に基づいて)。私はそれが次のことを試してみてくださいSQL Serverでデータが存在するかどうかを確認するその他SQL Serverのリンクサーバーに挿入する
仕事を使用して動的に実行したい
挿入
insert into d1.dbo.UrlRecord (EntityId, EntityName, Slug, IsActive, LanguageId)
select
Id, 'Category',
REPLACE(Name, ' ', '-'), 1, 0
from d2.dbo.Category
Id
場合は、単に他の新しい値で更新して存在:
私はこのinsert
文を持っていますMERGEスクリプト
MERGE d1.dbo.UrlRecord TT
USING
(
SELECT
Id,'Category' as EntityName,REPLACE(Name,' ','-') as Slug,1 as IsActive,0 as LanguageID
FROM d2.dbo.Category
)ST on TT.EntityId = ST.id
WHEN NOT MATCHED THEN
INSERT (EntityId,EntityName,Slug,IsActive,LanguageId)
VALUES (ST.Id,ST.EntityName,ST.Slug, ST.IsActive,ST.LanguageID)
WHEN MATCHED THEN
UPDATE
SET
TT.EntityName = ST.EntityName,
TT.Slug = ST.Slug,
TT.IsActive = ST.IsActive,
TT.LanguageId=ST.LanguageID
;
「ME RGE声明? –
いいえ、どうすればいいですか –
ここに行きます** [MERGE](https://msdn.microsoft.com/en-in/library/bb510625.aspx)**。それを試してください –