标签:查询 oracle 场景 项目经理 同步 检查 content 增删改 安全
过去做项目。
都是前端后台的编码。由于数据库都让项目经理给写好的。自己对于数据库并没有多少优化,时间久了,反而把数据库的知识给淡忘了,近期的项目用到的是Oracle数据库,大家都知道。用到这个数据库。就是数据量比較大的项目了。对于优化就有必要了。因此自己下班后抽出时间复习一下,并把这个记录下来,不仅仅是分享给大家,还能以后自己再次复习。若我讲得不正确,请留言更正,本人会虚心接受并改更,这样才干进步。
这个定义,大家看到就能明确触发器的作用了,增删改查,为什么触发器没有查询呢。由于Oracle的触发器是针对数据变动时所触发的一种待定行动。
比方你删除了一个表中的字段,删除触发器就会启动,运行他的命令。
同理。改动和添加方法也是一样。仅仅要你运行了增删改方法,从而改变了表的数据时。你所设定对应的触发器就会运行。
create trigger saynewemp<span style="white-space:pre"> </span>//创建一个触发器 <span style="font-family: Arial, Helvetica, sans-serif;">saynewemp是触发器的名字</span> after insert<span style="white-space:pre"> </span>//运行插入方法后触发 on emp<span style="white-space:pre"> </span>//针对是哪个表 declare<span style="white-space:pre"> </span>//声明 begin<span style="white-space:pre"> </span>//開始 dbms_output.put_line("成功插入新员工")<span style="white-space:pre"> </span>//触发时打印一句话 end;<span style="white-space:pre"> </span>//结果一个员工表的插入触发器就写好了。仅仅要我们对员工表运行insert插入操作后,就会运行触发器中的行为,如上所看到的,会自己主动打印一句话。
CREATE[or REPLACE]TRIGGER 触发器的名字<span style="white-space:pre"> </span>//创建一个触发器 {BEFORE|AFTER}<span style="white-space:pre"> </span>//触发器运行的顺序。是方法前还是方法后运行 {DELETE|INSERT|UPDATE(OF 列名)}<span style="white-space:pre"> </span>//给哪个方法设置触发器,在UPDATE方法中,能够用OF指明哪一列名 ON 表名<span style="white-space:pre"> </span>//哪个表 [FOR EACH ROW[WHEN(条件)]]<span style="white-space:pre"> </span>//假设有FOR EACH ROW,那就是行级触发器。反之,就是语句触发器 PLSQL块<span style="white-space:pre"> </span>//运行块
我在以下举例说明吧。
<span style="white-space:pre"> </span>INSERT INTO EMP10 SELECT * FROM EMP WHERE NAME = 10;假设是语句级触发器的话,仅仅触发一次。由于语句级触发器:针对的是表,
标签:查询 oracle 场景 项目经理 同步 检查 content 增删改 安全
原文地址:http://www.cnblogs.com/tlnshuju/p/7172164.html