触发器

1、  触发器类型
a)         行级触发器
对DML语句影响的每个行执行一次。最常用的一种,用户数据审计应用中。
create trigger for each row
b)        语句级触发器
对每个DML语句执行一次。创建触发器的默认类型,用于强制执行在一个表上的各种操作的安全措施。
c)        和AFTER触发器BEFORE
定义触发器的执行时机。定义触发器在DML语句之前或者之后执行。
d)        触发器INSTEAD OF
用于支持对象视图。
e)         模式触发器
阻止DDL操作以及在发生DDL操作时提供额外的安全监控。
f)         数据库级触发器
自动完成数据库维护或审计活动。
2、  触发器语法
CREATE OR REPLACE TRIGGER YANGYX . STUDENT_INFO_AFT_INS_ROW
BEFORE INSERT
ON YANGYX . STUDENT_INFO
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
   insert into class_info ( class_id , class_name ) values(:new. student_id , 'yangyx' );
END ;
a)         各种DML触发器类型的组合使用
一个表上的多个insert、update和delete命令的触发器可以组合为单一的触发器,前提是它们都在同一级别上。
b)        触发器的用途
                         i.              设置插入值
在insert或者update操作中可以使用触发器设置列值。例如 :new.student_name := UPPER(:new.student_name);
                       ii.              维护复制的数据
复制表中的所有行或者部分行。
                      iii.              定制错误条件
                     iv.              调用过程
3、  启用和禁用触发器
触发器建立前的任何数据不受该触发器的影响。
alert trigger ×××× enable; ―――――――启用某个触发器
aleter trigger ×××× disable;―――――――禁用某个触发器
4、  删除触发器
drop trigger ××××;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值