这是我的程序:
PROCEDURE add_values AS BEGIN INSERT INTO TABLE_A ... SELECT t.id, t.name FROM TABLE_C ("This selection will return multiple records") END
当它插入到TableA中时,我想为插入到tableA中的特定记录插入到另一个表(TableB)中。
TableA和TableB中的列是不同的。在插入TableB之前调用一个函数是否明智-我想根据插入在tableA中的ID进行某些获取和设置?
试试这个
输入项
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'
询问
insert @tblA output INSERTED.id, INSERTED.Name into @tblB select id,name from @tblC where id % 2 = 0 select * from @tblA select * from @tblB
输出: [对于表A和表B]
身份证名
2 name2 4 name4 6 name6 8 name8 10 name10 12 name12 14 name14 16 name16 18 name18 20 name20
基本上,我将这些记录从ID均为偶数的TableC插入到TableA中。然后通过使用Output子句将值从TableA插入到TableB
有关更多信息,请输入输出子句
希望这有道理