我尝试进行比较,然后在存在差异时更新值。如果子查询包含任何行,则查询将更新person表中的每一行。由于UPDATE的人和子查询之间存在连接,这意味着将更新所有行。我需要它只更新实际不同的行。欢迎任何建议。
with cte as (
select [ID_person],[NM_firstname] from dbo.person where load_date='load1'
except
select [ID_person],[NM_firstname] from dbo.person where load_date='load2'
)
update cte
set Marking_Field='10'