触发器

本文详细介绍了数据库触发器的概念,包括DML、INSTEAD OF和系统触发器的类型,以及它们在安全性、完整性校验、数据同步等方面的作用。通过实例展示了如何创建和使用触发器,包括限制非工作时间的数据插入、防止薪水降低、替代视图操作以及记录系统事件。此外,还提到了触发器的启用、禁用和删除方法,以及在多表完整性约束中的应用。
摘要由CSDN通过智能技术生成
触发器
1、触发器相当于触发按钮发生的事件,它是在事件发生时隐式地运行的,并且触发器不能接收参数。
2、触发的事件可以是对数据库表的DML操作或某个视图操作,也可以是系统事件,如数据库的启动和关闭及一些DDL操作。
3、触发器分三种类型: DML触发器(邮表上执行的INSERT/UPDATE/DELETE操作触发);INSTEAD OF替代触发器(用于视图的操作);系统触发器(用于系统事件触发)。
4、触发器的作用:安全性方面,确定用户的操作是否可继续执行;产生对数据值修改的审计,将修改的信息记录下来,产生数据改动记录;提供更灵活的完整性校验规则,能够根据
更复杂的规则校验数据;提供表数据的同步复制,使多个表的数据达到同步;事件日志记录,记录数据库的重要操作信息。
5、创建语句级DML触发器语法"create [or replace] trigger 触发器名 触发时机 事件 on 表名 when 条件 触发器执行体",如:
 --创建DML触发器,阻止在非工作时间对EMP表插入记录
 SQL>CREATE OR REPLACE TRIGGER secure_emp  
  BEFORE INSERT ON emp  /*触发时机可以是AFTER或BEFORE*/
 BEGIN 
  IF (TO_CHAR(SYSDATE,'DY') IN ('星期六','星期日')) OR
  (TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '08:00' AND '18:00')
  THEN
   RAISE_APPLI
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值