Essayez ceci
Entrée
declare @tblA table (id int,name varchar(20))
declare @tblB table (id int,name varchar(20))
declare @tblC table (id int identity,name varchar(20))
insert into @tblC
select 'name1' union all select 'name2' union all
select 'name3' union all select 'name4' union all
select 'name5' union all select 'name6' union all
select 'name7' union all select 'name8' union all
select 'name9' union all select 'name10' union all
select 'name11' union all select 'name12' union all
select 'name13' union all select 'name14' union all
select 'name15' union all select 'name16' union all
select 'name17' union all select 'name18' union all
select 'name19' union all select 'name20'
Requête
insert @tblA
output INSERTED.id, INSERTED.Name
into @tblB
select
id,name
from @tblC
where id % 2 = 0
select * from @tblA
select * from @tblB
Sortie : [ Pour les tableaux A et B]
nom d'identification
2 name2
4 name4
6 name6
8 name8
10 name10
12 name12
14 name14
16 name16
18 name18
20 name20
Fondamentalement, j'insère ces enregistrements dans TableA à partir de TableC dont les identifiants sont pairs. Et puis en utilisant la clause Output en insérant les valeurs de TableA à TableB
Pour plus d'informations, Clause OUTPUT
J'espère que cela a du sens