深入学习Oracle触发器的类型及特点(oracle触发器类型)
Oracle的触发器是数据库表和视图中的有效钩子,它允许数据库对特定的数据库操作进行预编程反应。由于触发器被操作系统软件隔离,它可以在没有用户程序员介入的情况下,在任何事物级别中执行或取消数据库操作。
Oracle触发器有以下三种类型,即Statement级别触发器,Row级别触发器和表级别触发器。
Statement级别触发器(DML触发器)是一种针对特定数据库表或视图设计的触发器,在单个语句级别被触发执行,不会触发每一行数据。一个DML触发器可以以后台工作,如果提交一个针对表或视图的操作,触发器会自动被触发。典型的Statement级别触发器如下:
CREATE OR REPLACE TRIGGER sample_trigger
BEFORE INSERT OR UPDATE OR DELETE
ON employee
FOR EACH ROW
BEGIN
Statements
END;
Row级别触发器(Row触发器)的DML操作同Statement级别触发器相同,它被触发的频率更高,触发器逐行被触发,因此它能够分析或支持一些字段之间的关联,或者对每一行数据进行检查。一个Row触发器可以以后台工作,如果提交一个针对表或视图的操作,触发器会自动被触发,并且每一行被操作的数据,将被一次触发一次。典型的Row级别触发器如下:
CREATE OR REPLACE TRIGGER sample_trigger
BEFORE INSERT OR UPDATE OR DELETE
ON employee
FOR EACH ROW
BEGIN
IF :NEW.salary 20000 THEN
RAISE_APPLICATION_ERROR(-20001, Salary of an employee cannot be more than 20000 );
END IF;
END;
表级别触发器是一种紧密钩挂在某表上的触发器,当对特定表执行DML操作时被触发,这种类型的触发器不仅可以采用抑制和取消EML操作的方式管理表,还可以执行代码块和函数,进行完整的功能实现。表级别触发器始终以它所作用的表,为上下文,它不支持FOR EACH ROW子句,也不支持其它表名。典型的表级别触发器如下:
CREATE OR REPLACE TRIGGER sample_trigger
BEFORE INSERT OR UPDATE OR DELETE
ON employee
BEGIN
INSERT INTO log(message) VALUES ( A dml event has occurred );
END;
总的来说,Oracle的触发器可以有效的帮助用户实现更多的自动化处理,在大多数场景中,只要想要处理事务性的数据库操作,都可以尝试使用触发器。其中,Statement级别触发器是最常用的,它能够支持一次触发多个DML操作;Row级别触发器具有一行一行被触发的特点,它支持两行之间字段数据比较;表级别触发器不支持行级别操作,但是它可以支持完整的多表操作。
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 深入学习Oracle触发器的类型及特点(oracle触发器类型)
相关文章
- 解决Oracle安装乱码问题(安装oracle乱码)
- 深入了解Oracle数据库中触发器类型(oracle触发器类型)
- 深入理解Oracle触发器的类型与应用(oracle触发器类型)
- 深入了解 Oracle 触发器:类型及其应用(oracle触发器类型)
- 学习Oracle中的触发器类型(oracle触发器类型)
- 深入认识Oracle触发器的分类类型(oracle触发器类型)
- Oracle触发器:掌握不同类型的使用技巧(oracle触发器类型)
- 深入了解Oracle数据库触发器类型(oracle触发器类型)
- Oracle轻松了解表属性:学习查看方式(oracle查看表属性)
- 深入了解关系型数据库Oracle(关系型数据库oracle)
- 快速学习:Oracle如何导出数据表(oracle如何导出表)
- 从零开始学习Oracle归档命令(oracle归档命令)
- 多外键约束,Oracle 数据库实现完整性(oracle 多个外键)
- 深入理解Oracle中的全局同义词(oracle全局同义词)
- F5技术助推Oracle服务器安全升级(f5代理oracle)
- Oracle事务实现原子操作的4大要素(oracle事务包含什么)
- Oracle书用电子书免费享受学习之旅(oracle书电子书下载)
- Oracle会计软件强劲升级满足多种业务需求(oracle会计软件版本)
- 语言使用Oracle,学习什么编程语言(oracle中有什么编程)
- Oracle存储过程修改实践(oracle 修改存过)
- 深入探究Oracle主键索引慢的原因(oracle主键索引慢)
- Oracle中列排序的技巧与挑战(oracle中列排序)
- Oracle中利用主键自增解决数据一致性问题(oracle中主键自增)
- Oracle实现一行减一行技巧分享(oracle上一行减一行)
- Oracle实现一对一关系约束的策略(oracle 一对一关系)
- Oracle简易指南精通Int1(oracle int1)