[英]Check if data exist update else insert in SQL Server linked server
我嘗試從另一個表插入數據。 我想檢查所有行,如果行存在,則進行更新,如果行不存在,則將其插入(基於ID
)。
我有這個insert
語句:
insert into d1.dbo.UrlRecord (EntityId, EntityName, Slug, IsActive, LanguageId)
select
Id, 'Category',
REPLACE(Name, ' ', '-'), 1, 0
from d2.dbo.Category
如果Id
存在,則只需更新新值,否則插入
我想讓它使用SQL Server中的作業動態運行
嘗試以下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
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.