ソース テーブルからすべての行を削除し、削除された行がターゲット テーブルにまだ存在しない場合にのみ、削除された行をターゲット テーブルに挿入する必要があります。
単一のSQLを使用して発行することは可能ですか?
コードは私がこれまでに試したものです(エラーはありますが)。ありがとう!
create table #Target (column01 varchar(100)
,employee_number varchar(10)
)
Insert into #Target (column01, employee_number)
values ('2','222')
create table #Srs (column01 varchar(100)
,employee_number varchar(10)
)
Insert into #Srs (column01, employee_number)
values ('1','111')
,('2','222')
,('3','333')
,('4','444')
;with cteTable as (Select column01, employee_number from #Srs)
insert into #Target (column01, employee_number)
select * from (Delete from cteTable output deleted.column01, deleted.employee_number) t
where not exists (select 1
from #Target t1
where t1.employee_number = t.employee_number)
2,'222' は、";with cteTable.." の呼び出し時に #Target に挿入しないでください。