触发器

触发器

——   在事件发生时隐式地自动运行的PL/SQL程序块,不能接收参数,不能被调用。

create or replace trigger 触发器名

触发器必须由事件才能触发。触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件。

事件类型

事件

描述

DML事件

INSERT

在表或视图中插入数据时触发

UPDATE

修改表或视图中的数据时触发

DELETE

在删除表或视图中的数据时触发

DDL事件

CREATE

在创建新对象时触发

ALTER

修改数据库或数据库对象时触发

DROP

删除对象时触发

数据库事件

STARTUP

数据打开时触发

SHUTDOWN

在使用NORMALIMMEDIATE选项关闭数据库时触发

LOGON

当用户连接到数据库并建立会话时触发

LOGOFF

当一个会话从数据库中断开时触发

SERVERERROR

发生服务器错误时触发

DML触发器注意问题:

如果有多个触发器被定义成为相同时间、相同事件触发,且最后定义的触发器是有效的,

 则最后定义的触发器被触发,其他触发器不执行。

一个触发器可由多个不同的DML操作触发。在触发器中,可用INSERTINGDELETINGUPDATING谓词来区别

 不同的DML操作。这些谓词可以在IF分支条件语句中作为判断条件来使用。

③触发器体内禁止使用COMMITROLLBACKSAVEPOINT语句,也禁止直接或间接地调用含有上述语句的存储过程。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值