以下问题让我感到困惑。关于发现和盖章三角洲。
我在dbo.persoon
表中有两个完全相同的100行数据加载,分别用load1和load2标记。我在这200条记录中进行了3次列更改,以确保存在delta。如果我运行select...except...select
部分,则会显示这些delta。
接下来,我想使用update语句标记这些delta的行。但是,当我运行更新代码时,会有一条消息表明有200行受影响。有谁知道如何解决这个问题,只更新delta的行?
update dbo.persoon
set Marking_Field='10'
where exists
(select [ID_person],[NM_firstname] from dbo.persoon where load_date='load1'
except
select [ID_person],[NM_firstname] from dbo.persoon where load_date='load2')
答案 0 :(得分:0)
为什么不这样做......
with cte
as
(
select [ID_person],[NM_firstname] from dbo.persoon where load_date='load1'
except
select [ID_person],[NM_firstname] from dbo.persoon where load_date='load2'
)
update cte
set Marking_Field='10'