设为首页 加入收藏

TOP

Oracle中的触发器
2015-07-24 11:17:54 来源: 作者: 【 】 浏览:3
Tags:Oracle 触发器

Oracle中的触发器

触发器是一种特殊的额存储过程,它在发生某种数据库时间时由Oracle系统自动触发。触发器通常用于加强数据库的完整性约束和业务规则等,对于表来说,触发器可以实现比CHECK约束更为复杂的约束。
Oracle中的触发器的类型主要有DML触发器、替代触发器、系统事件触发器和DDL触发器。

触发器的分类

DML触发器
DML触发器由DML语句触发,例如INSERT、UPDATE和DELETE语句。
针对所有的DML事件,按照触发器的时间可以将DML触发器分为BEFORE触发器和AFTER触发器,分别表示在DML事件发生之前与之后采取行动。
另外,DML触发器也可以分为语句级触发器和行级触发器,语句级触发器针对某一条语句触发一次,而行级触发器针对语句所影响的每一行都触发一次。 INSTEAD OF触发器
INSTEAD OF触发器(替代触发器),用于执行一个替代操作来代替触发事件的操作,例如针对INSERT事件的INSTEAD OF触发器,它由INSERT语句触发,当出现INSERT语句时,该语句不会被执行,而是执行INSTEAD OF触发器中定义的语句。
系统事件触发器
系统事件触发器在发生如数据库启动或关闭等系统事件时触发。 DDL触发器
DDL触发器由DDL语句触发,如CREATE、ALTER和DROP语句。DDL触发器同样分为BEFORE触发器与AFTER触发器。

触发器的创建

创建触发器需要使用CREATE TRIGGER语句,其语法如下:

CREATE [OR REPLACE] TRIGGER trigger_name
[BEFORE|AFTER|INSTEAD OF] trigger_event
{ON table_name|view_name|DATABASE}
[FOR EACH ROW]
[ENABLE|DISABLE]
[WHEN trigger_condition]
[DECLARE declaration_statements;]
BEGIN
    trigger_body;
END [trigger_name]; 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORACLE中RECORD、VARRAY、TABLE的.. 下一篇分享Oracle密码忘记找回的办法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·你必须要弄懂的多线 (2025-12-25 04:22:35)
·如何在 Java 中实现 (2025-12-25 04:22:32)
·Java【多线程】单例 (2025-12-25 04:22:29)
·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)