我想执行“软删除”。即匹配时插入新条目,不匹配时只插入条目。
例如:
MERGE TargetTable AS targetT
USING SourceTable AS sourceT ON sourceT.Npi = targetT.Npi
WHEN MATCHED AND IsNull(targetT.SPI, '') <> '' THEN
UPDATE SET targetT.Isdelete = 1 --Update Only One Column
--And also insert a new row
WHEN NOT MATCHED
--Perform insert operation
答案 0 :(得分:0)
合并声明不会以这种方式工作。你必须以老式的方式(使用存储过程才能工作)。
看起来您正在尝试创建存档记录。如果这是真的,我建议您使用合并,因为它打算使用,并使用更新后触发器来满足您的审计需求。