Welcome 微信登录

首页 / 数据库 / MySQL / Oracle数据库中有关触发器问题

Oracle触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。 触发器功能 1、 允许/限制对表的修改 2、 自动生成派生列,比如自增字段 3、 强制数据一致性 4、 提供审计和日志记录 5、 防止无效的事务处理 6、 启用复杂的业务逻辑 触发器种类 触发器的种类可划分为4种:1.数据操纵语言(DML)触发器、2.替代(INSTEAD OF)触发器、3.数据定义语言(DDL)触发器、4.数据库事件触发器。 数据操纵语言(DML)触发器:简称DML触发器,是定义在表上的触发器,创建在表上。由DML事件引发的触发器,编写DML触发器时的两点要素是: 1.确定触发的表,即在其上定义触发器的表。2.确定触发的事件,DML触发器的触发事件有INSERT、UPDATE和DELETE三种; 替代触发器,简称INSTEAD OF触发器,创建在视图上,用来替换对视图进行的删除、插入和修改操作; 数据定义语言(DDL)触发器,简称DDL触发器,定义在模式上,触发事件是数据对象的创建和修改; 数据库事件触发器,定义在整个数据库或模式上,触发事件是数据库事件. ORACLE产生数据库触发器的语法为:以下是代码片段:
    CREATE [OR REPLACE] TRIGGER 触发器名
{BEFORE|AFTER|INSTEAD OF} 触发事件1 [OR 触发事件2...]
ON 表名
WHEN 触发条件
[FOR EACH ROW]
DECLARE
声明部分
BEGIN
主体部分
END;Oracle解决查询表空间速度慢的问题Oracle监听能正常启动,但实例监听不到故障应急处理一例相关资讯      Oracle触发器 
  • Oracle数据库中的触发器  (03/11/2015 10:12:29)
  • Oracle利用触发器实现自增列  (02/10/2015 11:27:09)
  • Oracle中的System Triggers(DDL触  (02/25/2014 19:33:55)
  • Oracle中的触发器  (02/14/2015 11:22:03)
  • Oracle触发器问题解决一例  (11/11/2014 17:36:10)
  • Oracle 触发器更新基表不同记录所  (12/31/2013 10:01:29)
本文评论 查看全部评论 (0)
表情: 姓名: 字数