if object_id('tr_test') is not null drop trigger tr_test go create trigger tr_test on A for insert as begin if object_id('B') is null begin create table B ( ID varchar(10), ACC int ) end insert into B select * from inserted end goselect * from A/* ID ACC ------------- A0012 20 A0014 30 */insert into A select 'A0090',30 union all select 'A0120',20select * from A/* ID ACC ------------- A0012 20 A0014 30 A0090 30 A0120 20 */select * from B/* ID ACC ------------- A0090 30 A0120 20 */
go
create trigger tr_test
on A
for insert
as
begin
if object_id('B') is null
begin
create table B
(
ID varchar(10),
ACC int
)
end
insert into B
select * from inserted
end
goselect * from A/*
ID ACC
-------------
A0012 20
A0014 30
*/insert into A select 'A0090',30
union all select 'A0120',20select * from A/*
ID ACC
-------------
A0012 20
A0014 30
A0090 30
A0120 20
*/select * from B/*
ID ACC
-------------
A0090 30
A0120 20
*/
更新触发器 inserted 存储更新的数据 deleted 存储原来未更新时的数据
删除触发器 inserted 空 deleted 存储删除的数据
无法绑定由多个部分组成的标识符 "inserted.Id"。