日期:2014-05-17  浏览次数:20517 次

关于触发器inserted表
分不多了 不好意思

表a有触发器b 

但往表插入一天数据 inserted 有一条数据 
当同时插入2条数据时 触发器 执行力一次 intserted 有2条数据 
/还是 触发器执行了 2次 每次 inserted里只有一条数据

最好给个实例我实验下 谢谢

------解决方案--------------------
同时插入2条数据时,触发器执行一次,intserted有2条数据.

create table #ins(aid int,col varchar(5))

create table 表a
(aid int,col varchar(5))

create trigger 触发器b on 表a 
for insert
as
begin
 insert into #ins(aid,col)
  select aid,col from inserted
end

-- 同时插入2条数据
insert into 表a(aid,col)
 select 11,'aa' union all
 select 22,'bb'
 
/*
(2 row(s) affected)  --> 针对表a的2条记录

(2 row(s) affected)  --> 针对#ins的2条记录
*/

-- 结果
select aid,col from 表a
 
/*
aid         col
----------- -----
11          aa
22          bb

(2 row(s) affected)
*/

select aid,col from #ins

/*
aid         col
----------- -----
22          bb
11          aa

(2 row(s) affected)
*/