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 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

数据库进阶2 Mysql高并发优化

如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模...

681
来自专栏Golang语言社区

二十种实战调优MySQL性能优化的经验

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

492
来自专栏数据之美

一例 Hive join 优化实战

由于 hive 与传统关系型数据库面对的业务场景及底层技术架构都有着很大差异,因此,传统数据库领域的一些技能放到 Hive 中可能已不再适用。关于 hive ...

2648
来自专栏极客慕白的成长之路

MySQL的实战系列:大字段如何优化

除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://geekmubai.com/programming/747.html

1043
来自专栏Rgc

mysql数据库优化(四)-项目实战

在flask项目中,防止随着时间的流逝,数据库数据越来越多,导致接口访问数据库速度变慢。所以自己填充数据进行测试及 mysql优化

703
来自专栏跟着阿笨一起玩NET

SQL语句使用总结(二)

331
来自专栏文渊之博

用于重新编译的工具和命令

1.SQL Prifiler:捕捉事件类型为SP和T-SQL的事件(Starting、Stmtcompleted、Recompile、Completed、Cac...

1929
来自专栏大数据挖掘DT机器学习

50多条实用mysql数据库优化建议

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 缺省情况下建立的索引是非群集索引,但有时它并不是最...

4726
来自专栏转载gongluck的CSDN博客

ADO大总结

内容比较乱,作为草稿,对现有的ado数据库操作函数方法进行汇总。 小函数 m_pRecordset->RecordCount//取得记录数量 全局变量 #i...

2748
来自专栏沃趣科技

Oracle 12c 多租户专题|隔离PDB的磁盘IO

原文链接 https://oracle-base.com/articles/12c/multitenant-disk-iops-mdps-resource-ma...

3086

扫码关注云+社区