2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0)

触发器我就不多解释了,保证数据的完整性的神器,嗯..也是减少程序员工作托管给数据库操作的好帮手.就不讲一些大道理了.通俗点,我们对数据库的操作,无非就是增 删 改 查.

触发器就是在删,改,增的时候(可以是操作数据前,也可以是操作数据后)额外的帮你做一些事情保证你数据库的完整(PS:不知道为何,我们总监对触发器总是深恶痛绝.. = = ,)

下面就来一发Oracle触发器的基本语法:

CREATE OR REPLACE TRIGGER trigger_name(触发器名)
<before(操作数据前) | after(操作数据后) | instead of(用于视图)> <insert(增加操作) | update(修改操作) | delete(删除操作)> ON table_name(你要添加的表)
[FOR EACH ROW]
WHEN (condition)
DECLARE
BEGIN
 --触发器代码
END;

[FOR EACH ROW]为可选项,如果注明了FOR EACHROW,则说明了该触发器是一个行级的触发器,DML语句处理每条记录都会执行触发器;否则是一个语句级的触发器,每个DML语句触发一次。

WHEN后跟的condition是触发器的响应条件,只对行级触发器有效,当操作的记录满足condition时,触发器才被执行,否则不执行。Condition中可以通过new对象和old对象(注意区别于前面的:new和:old,在代码中引用需要加上冒号)来引用操作的记录。

值得注意的是:

里面的:new对象表示了插入的记录,可以通过:new.column_name来引用记录的每个字段值

:old对象表示修改前的记录

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴生的专栏

30多条mysql数据库优化方法,千万级数据库记录查询轻松解决

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

39610
来自专栏java一日一条

MySQL 性能优化的最佳 20+ 条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的...

312
来自专栏MYSQL轻松学

MySQL系列优化(一)

MYSQL优化是一个非常大的课题,这篇文章主要介绍了跟MYSQL相关的4个方面,如果想深入研究可以查下相关资料。 ---- 一、服务器级别优化 二、操作系统级别...

2745
来自专栏顶级程序员

为什么忘记 commit 也会造成 select 查询的性能问题

作者:潇湘隐者 www.cnblogs.com/kerrycode/p/5836015.html 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器OR...

2798
来自专栏Java帮帮-微信公众号-技术文章全总结

JavaWeb07-JDBC(Java真正的全栈开发)

? jdbc 一、JDBC介绍 1. JDBC定义 JDBC(Java Data Base Connectivity,java数据库连接),说白了就是用Jav...

3496
来自专栏应用案例

JDBC原理浅析,当达到一定层级后,回头看这些当初的细节

JDBC,你还记得她的全称是啥么?中文几个意思? 今儿咱再回来拉练一把当初的JDBC! JDBC原理浅析,当达到一定层级后,回头看这些当初的细节,真的入门后,也...

2688
来自专栏Python

mysql:索引原理与慢查询优化

一 索引的原理 1. 索引原理 索引的目的在于提高查询效率,与我们查阅图书所用的目录是一个道理:先定位到章,然后定位到该章下的一个小节,然后找到页数。相似的例子...

3986
来自专栏抠抠空间

mysql之引擎、Explain、权限详解

1244
来自专栏闻道于事

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

一、程序包和包体 程序包(package):存储在数据库中的一组子程序、变量定义。在包中的子程序可以被其它程序包或子程序调用。但如果声明的是局部子程序,则只能在...

3117
来自专栏杨建荣的学习笔记

MySQL和Oracle的添加字段的处理差别 (r10笔记第73天)

昨天在微信群中有个朋友也是无意中问了一下,说数据库中的表字段想保持一种相对规范的顺序,怎么办?要知道Oracle中这个操作就比较纠结了,因为是按照追加的方式来处...

3296

扫码关注云+社区