触发器是响应于表上的特定事件而执行的PL / SQL程序。
所讨论的事件可以发生FOR EACH ROW或SQL语句。
有行级或语句级触发器。
与触发器相关联的实际事件可以发生在BEFORE,AFTER或INSTEAD OF INSERT,UPDATE或DELETE SQL语句之后。
例
以下代码显示了针对作者表的触发器。
CREATE OR REPLACE TRIGGER authors_bir BEFORE INSERT ON authors FOR EACH ROW BEGIN if upper(:new.name) = 'Mary' then raise_application_error(20000, 'Sorry, that name is not allowed.'); end if; END; /
注意
使用的语法如下:
CREATE [OR REPLACE] TRIGGER <trigger_name> BEFORE INSERT ON <table_name> FOR EACH ROW BEGIN <pl/sql> END;
<trigger_name>是触发器的名称,<table_name>是表的名称,<pl / sql>是您在写入要执行的PL / SQL程序之前插入每个ROW。
[ ] OR REPLACE关键字的方括号表示它是可选的。
如果触发器已存在,则OR REPLACE子句将允许您重新创建触发器。
查看更多关于Oracle PL / SQL触发器Triggers的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did225663