语法
Create or replace trigger name
Before/after /instead of trigger_event on table_name --instead of代替
[for each row]
[follows another_trigger]--设置触发器的顺序
[enable/disable]--alter trigger trigger_name disable/enable 改变
[when condition]
Declare
[PRAGMA AUTONOMOUS_TRANSACTION]--自治的事务,编译指令
Begin
exception
End;
注意:
触发器和事物时封装在一起的,当事物回滚时,触发器也要回滚。除非特别的触发器带自治事务,带commit、savepoint、roollback。
不允许在触发器在声明long/loog raw
:new.某--插入和更新的时候输入记录伪列
:old.某 --插入、删除和更新的时候,旧的数据。
(运行原理和sql erver一样)
updating、deleting,inserting 全局boolean量来判断行为
Before 事务前的处理,取代或是增加某个操作,after事务后的处理一般记录性的操作
有趣的应用:,插入检查,只能在上班时间访问某表。用户删除不能直接删除视图的时候。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26742541/viewspace-734261/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26742541/viewspace-734261/