oracle触发器(oracle触发器用法附实例讲解)
oracle 触发器(oracle 触发器用法|附实例讲解)一、触发器简介
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。
因此触发器不需要人为的去调用,也不能调用。
然后,触发器的触发条件其实在你定义的时候就已经设定好了。
触发器可以分为语句级触发器和行级触发器,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。
具体举例:
1、 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了。
2、 在一个表中定义了行级的触发器,那当这个表中一行数据发生变化的时候,比如删除了一行记录,那触发器也会被自动执行了。二、触发器语法
触发器的语法:create[orreplace]tigger触发器名触发时间触发事件 on表名 [foreachrow] begin pl/sql语句 end
其中:
触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发器执行;
after:表示在数据库动作之后触发器执行。
触发事件:指明哪些数据库动作会触发此触发器:
insert:数据库插入会触发此触发器;
update:数据库修改会触发此触发器;
delete:数据库删除会触发此触发器。
表 名:数据库触发器所在的表。
for each row:对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。功能
触发器能实现如下功能:
1、 允许/限制对表的修改
2、 自动生成派生列,比如自增字段
3、 强制数据一致性
4、 提供审计和日志记录
5、 防止无效的事务处理
6、 启用复杂的业务逻辑实例
1)、下面的触发器在更新表tb_emp之前触发,目的是不允许在周末修改表:createorreplacetriggerauth_securebeforeinsertorupdateorDELETE ontb_emp begin IF(to_char(sysdate,'DY')='星期日')THEN RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表tb_emp'); ENDIF; END; /
2)、使用触发器实现序号自增
创建一个测试表:createtabletab_user( idnumber(11)primarykey, usernamevarchar(50), passwordvarchar(50) );
创建一个序列:
create sequence my_seq increment by 1 start with 1 nomaxvalue nocycle cache 20;
创建一个触发器:CREATEORREPLACETRIGGERMY_TGR BEFOREINSERTONTAB_USER FOREACHROW--对表的每一行触发器执行一次 DECLARE NEXT_IDNUMBER; BEGIN SELECTMY_SEQ.NEXTVALINTONEXT_IDFROMDUAL; :NEW.ID:=NEXT_ID;--:NEW表示新插入的那条记录 END;
向表插入数据:insertintotab_user(username,password)values('admin','admin'); insertintotab_user(username,password)values('fgz','fgz'); insertintotab_user(username,password)values('test','test'); COMMIT;
查询表结果:SELECT * FROM TAB_USER;
3)、当用户对test表执行DML语句时,将相关信息记录到日志表--创建测试表 CREATETABLEtest( t_idNUMBER(4), t_nameVARCHAR2(20), t_ageNUMBER(2), t_sexCHAR ); --创建记录测试表 CREATETABLEtest_log( l_userVARCHAR2(15), l_typeVARCHAR2(15), l_dateVARCHAR2(30) );
创建触发器:--创建触发器 CREATEORREPLACETRIGGERTEST_TRIGGER AFTERDELETEORINSERTORUPDATEONTEST DECLARE V_TYPETEST_LOG.L_TYPE%TYPE; BEGIN IFINSERTINGTHEN --INSERT触发 V_TYPE:='INSERT'; DBMS_OUTPUT.PUT_LINE('记录已经成功插入,并已记录到日志'); ELSIFUPDATINGTHEN --UPDATE触发 V_TYPE:='UPDATE'; DBMS_OUTPUT.PUT_LINE('记录已经成功更新,并已记录到日志'); ELSIFDELETINGTHEN --DELETE触发 V_TYPE:='DELETE'; DBMS_OUTPUT.PUT_LINE('记录已经成功删除,并已记录到日志'); ENDIF; INSERTINTOTEST_LOG VALUES (USER,V_TYPE,TO_CHAR(SYSDATE,'yyyy-mm-ddhh24:mi:ss'));--USER表示当前用户名 END; /
--下面执行DML语句INSERTINTOtestVALUES(101,'zhao',22,'M'); UPDATEtestSETt_age=30WHEREt_id=101; DELETEtestWHEREt_id=101;
--查看效果SELECT*FROMtest; SELECT*FROMtest_log;
运行结果如下:
篇幅有限,今天内容就分享到这了,后面会更多分享DBA和devops内容,感兴趣的朋友可以关注下~
虹桥中园(虹桥中园的大家长,最美!)虹桥中园(虹桥中园的大家长,最美!)近日,上海市妇联揭晓了2020年度海上最美家庭名单,来自程家桥街道的黄全龙家庭上榜。一起来听听程家桥海上最美家庭的故事吧!1955年出生的黄全龙
娄婧妈妈(母亲是上海人)娄婧妈妈(母亲是上海人)娄婧,生于上海长于上海,妈妈是中国人,爸爸是黑人,是标准的混血儿。她有着黑色的皮肤。现就读于上海戏剧学院播音主持专业,她是上海东方卫视加油东方天使上海赛区5
保险知识(这些保险常识,你知道吗?)保险知识(这些保险常识,你知道吗?)一保险常识(一)保险定义是指投保人根据合同约定,向保险人支付保险费,保险人对于合同约定的可能发生的事故因其发生所造成的财产损失承担赔偿保险金责任
张继科吧(张继科近况)张继科吧(张继科近况)张继科挑战公园大爷?网友无敌是多么寂寞!近日,在北京一公园内,有不少网友发现国乒大满贯得主张继科和老大爷切磋球技,围观群众纷纷喝彩。有网友表示打遍世界无敌手后
为知笔记(石墨笔记,为知笔记)为知笔记(石墨笔记,为知笔记)在当今这个智能化水平大大提高和计算机普及的社会,对于写稿爱好者来说,写作软件就相当于曾经的纸和笔,不仅是工具,更是陪伴自己的朋友,所以寻找并选择一款好
犹唱后庭花(商女不知亡国恨)犹唱后庭花(商女不知亡国恨)这几天的头条越看越心寒。为什么还有这么多拿无知当借口的人。为了粉一个明星可以彻夜彻日的搜索他的一切,对于中国历史却懒得去查,轻描淡写来一句知道又怎样,时
万圣节女王(画师晒史莱克三美的万圣节妆容)万圣节女王(画师晒史莱克三美的万圣节妆容)国漫美女千千万,玄机女神占一半。从秦时明月天行九歌到武庚纪斗罗大陆,玄机创造了许多颜值出众,身材绝佳的美女角色。在人气超火的斗罗大陆中,史
正弦函数(正弦函数是重要内容)正弦函数(正弦函数是重要内容)正弦函数yAsin(wx)是三角函数的重要内容,历年来都是高考命题的热点,现结合近年来的高考试题,帮助大家提高复习效率。三角函数既是高中数学教学的重点
风水先生闯官场(赵北王,抢了张天师风水)风水先生闯官场(赵北王,抢了张天师风水)文化之力量使命之担当常山文艺山高水长作者吴贤林江国龙在青石镇溪口村东面,有座形状像狮子的山,因山的西北侧有个小村落叫赵家,故名赵家山。相传,
眼内有尘三界窄(小得盈满方能体悟世间的美好)眼内有尘三界窄(小得盈满方能体悟世间的美好)夏季的第二个节气小满刚过。此时的果实已贮满香甜,日渐饱胀,夏熟作物的籽粒开始灌浆饱满,正是小满但未成熟的状态。物致于此,小得盈满。果实正
新鲜空气可以使你致命(经典欣赏新鲜空气能让人致命)新鲜空气可以使你致命(经典欣赏新鲜空气能让人致命)烟雾曾经一度是洛杉矶最大的吸引力。而现在则遍及全美国,从比尤特蒙大拿到纽约城,人们都在习惯于这种被污染了的空气,以致呼吸别的空气反
昆明宜良(昆明宜良打造三角梅旅游观光!)昆明宜良(昆明宜良打造三角梅旅游观光!)邂逅花的海洋用镜头捕捉花仙子摇曳的身姿陶醉在花瓣雨飘飞的意境之中端午将至,昆明市宜良三角梅主题公园内的三角梅盛放枝头,引得很多游客争相前来打
铅酸蓄电池(国庆之后铅酸电池或再次涨价)铅酸蓄电池(国庆之后铅酸电池或再次涨价)在国庆小长假之前,国际市场上铅的价格已经出现了大幅上涨,同时国内环保整顿也让许多环保不合格的小厂直接关门歇业,原材料的涨价和供应的紧张使得电
年轻的爱情(年轻时的爱情真的是爱情吗?)年轻的爱情(年轻时的爱情真的是爱情吗?)进入青年时代的人,往往面临着一个亘古常新的问题,那就是爱情。它不知不觉地,悄悄地潜入你的心扉,撞击你的心灵。但是爱情,它可能使你获得无比幸福
水上行走(人可以在水面上行走吗?)水上行走(人可以在水面上行走吗?)几个世纪以来,人类一直幻想着能在水面上行走。在十五世纪,达芬奇画了一双浮筒式鞋子1988年,法国表演者雷米布里卡(RemyBricka)穿着一双浮
杨凌裤带面(陕西杨凌蘸水面)杨凌裤带面(陕西杨凌蘸水面)国庆黄金周马上就要到来,大家准备好去哪玩了吗?出门旅游除了玩,那就是吃。中国人对吃几千年来一直是认真的,也铸就了博大精深的中华美食文化。我常年行走在外,
槐花饼怎么样做最好吃(分享原味槐花饼的做法)槐花饼怎么样做最好吃(分享原味槐花饼的做法)早晨爬山,看见有人卖新鲜槐花,五元一斤,馋瘾頓上,买了一斤,晚上做原味槐花饼。槐花味苦,性平,无毒,具有清热凉血止血降压的功效。对高血压
小米锅巴的做法大全家常做法(小米锅巴的家常做法)小米锅巴的做法大全家常做法(小米锅巴的家常做法)小时候零食不多,锅巴算是比较受欢迎的一个,入口香酥,非常好吃。当时就想什么时候才能一次吃锅巴吃到饱呢。终于经过我的潜心专研,琢磨出小
自我意识过剩(年轻男女谈恋爱反面教材)自我意识过剩(年轻男女谈恋爱反面教材)在表达爱意和关心这件事上,不少人仍然不太熟练,哪怕是在最亲密的情侣关系之间,也存在习惯性的贬低打压,甚至恶语相向等等不OK行为。今天,我们收集
吵架公约(恋爱男女吵架公约)吵架公约(恋爱男女吵架公约)今天,小半恋爱学院小编整理了一下,发现有必要给大家放出一个男女吵架公约!吵架的时候很容易失去理智,所以,用公约来管住自己的情绪,何尝不可!希望各路男女赶
天枰座女(如何追求天秤座女生)天枰座女(如何追求天秤座女生)追求天秤座女生其实是一件极其简单的事情,只需具备以下几点特质,基本天秤座都是手到擒来。第一点,你必须得好看。这里说的好看,并不单单指的是五官,更多的是
和女生聊天话题(和喜欢的女生聊天到底该聊些什么话题?)和女生聊天话题(和喜欢的女生聊天到底该聊些什么话题?)我想这个问题一定困扰你很久了吧?想找喜欢的女生聊天,却不知道聊什么。好不容易想到一个话题,她却不感兴趣。在我看来,和喜欢的女生