+ -
当前位置:首页 → 问答吧 → commit与触发器的疑问

commit与触发器的疑问

时间:2011-12-07

来源:互联网

一个表,它有一个行级触发器,进行update,delete,insert都会触发,现在我写如下代码进行数据操作:
delete from table1 where name = 'user1';
insert into table1 ('user1','mail');
commit;

它是不是会先触发delete事件,然后再触发insert事件?
还是要像下面这样写才会触发两个事件?
delete from table1 where name = 'user1';
commit;
insert into table1 ('user1','male');
commit;

作者: onebigday   发布时间: 2011-12-07

它是不是会先触发delete事件,然后再触发insert事件?
是的.

delete from table1 where name = 'user1';
insert into table1 ('user1','mail');
commit;
这样就可以

相当于
delete from table1 where name = 'user1';
执行触发器;
insert into table1 ('user1','mail');
执行触发器;

触发器和出发他的语句相当于同一个事物,他们会一起提交或者回滚.

作者: wffffc   发布时间: 2011-12-08