触发器的理解

create table abcd (id varchar(10))

go

create trigger tr_abcd_i on abcd for insert,update,delete

as

select * from inserted

select * from deleted

go

insert into abcd select 1         /*执行这句时,会出现会在abcd表里插入一条记录,同时触发在inserted也产生一条记录,但deleted是没有记录的。*/

go

update abcd set id='2' where id='1'          /*执行这句时,可以理解为先将id=1的记录删除,将删除记录插入deleted里,再往inserted表里插入id=2的记录*/

go

delete abcd where id='2'      /*执行这句时,将删除的记录插入到deleted里,而inserted里没有记录*/

 

这个实例结构很简单, 但是却能通过insert ,update ,delete 三条语句,去理解触发器的原理,明白inserted和deleted这2个表的真正含义。。

posted @ 2010-09-03 14:55  冰封嘚心  阅读(241)  评论(0编辑  收藏  举报