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内容,感兴趣的朋友可以关注下~
小说连播(七八十年代的小说连播和广播剧)小说连播(七八十年代的小说连播和广播剧)我至今还记得收听首部科幻广播剧珊瑚岛上的死光时受到的震撼,这来自于安装了高效原子电池的激光器的巨大威力,当时配的解说大概是激光的第一次扫射,
望尘莫及(体验中国速度,让同行望尘莫及)望尘莫及(体验中国速度,让同行望尘莫及)这些年的电子产品入手最多的除了手机估计就是U盘了,从学生时代到现在打工时代,U盘这个产物真的带给了我们无尽的方便,不管是学习资料的传输还是现
怎么打响指(如何打响指打得非常响)当人长期陷入迷茫状态是很可怕的事情,缺少食物能量会让你消瘦甚至饿死完犊子,而缺少精神能量整个人就失了魂一样,感受不到自身的力量。像是常见的抑郁情绪就会有这种状态,这是不利于我们生存
单词发音(单词的发音)单词发音(单词的发音)1。单词从发音的角度看,是由音节构成的。什么是音节?就是单词音标有几个元音发音就是有几个音节,或者说你慢慢读单词的时候感觉能停顿几下就是单词有几个音节。认识这
曹格女儿grace(曹格一双儿女大变样)曹格女儿grace(曹格一双儿女大变样)转眼,7年过去了,当初那个被观众群嘲丑萌的Grace已经长成一个大姑娘。时间赋予姐姐的变化,不光是面容上的改变,她身上的气质也在时间的渲染下
明成祖朱棣(不可思议的明成祖朱棣)明成祖朱棣(不可思议的明成祖朱棣)明朝第三个皇帝,明成祖朱棣,是极为特殊的一个皇帝。因为他是历史上,唯一一位造反成功的藩王。而中国几千年来,除了朱棣,有藩王起兵造反成功的先例吗?没
粉碎文件(快速文件粉碎工具)粉碎文件(快速文件粉碎工具)快速文件粉碎工具是一款非常专业的文件粉碎工具。文件粉碎也就是把计算机上的文件彻底删除,不留痕迹,原理是在被删除文件位置随机写入0和1,所以文件粉碎通常速
天龙八部之惟我独尊(天龙八部阿牛哥对战唯我独尊)天龙八部之惟我独尊(天龙八部阿牛哥对战唯我独尊)要说天龙八部网游江湖最近最大的事,无非就是至尊帮派邀请赛了!经过紧张刺激的火力角逐,最终来自武林至尊区的三世情缘帮会和唯我独尊区的唯
乐滋滋的反义词(一年级语文下册常考近反义词合集)乐滋滋的反义词(一年级语文下册常考近反义词合集)近义词造建打击跑奔雄伟宏伟壮观壮丽到处处处开心快乐忽然突然偷偷悄悄飞快急速孤单孤独从前以前原来本来从此此后纪念怀念天天每天眼看马上仔
新疆于田县(这里是新疆于田)新疆于田县(这里是新疆于田)和田地区于田县位于新疆维吾尔自治区西南部,东临民丰县,北依塔克拉玛干沙漠与阿克苏地区沙雅县接壤,西与策勒县相邻,南与西藏自治区改则县日土县相接。全县南北
职来职往刘同(刘同见面会的启发)职来职往刘同(刘同见面会的启发)这周,发生了一些事对我人生还是有点启发和触动,周六的是时候,去看了一下刘同得读者见面会。知道刘同这个人是之前在职来职往这档节目上了解到的,后面都看了
八公山豆腐(大家都爱吃豆腐)八公山豆腐(大家都爱吃豆腐)清代汪汲的事物原会记,周代已有豆腐,可惜在先秦古籍中,至今未找到证据。现今较普遍的说法,豆腐乃前汉淮南王刘安所创。刘安,沛郡丰今江苏丰县。人,汉高祖之孙
怎么练弹跳(打篮球怎么训练弹跳力?)怎么练弹跳(打篮球怎么训练弹跳力?)第一项半蹲跳1刚开始时,跪姿至14的部位,两手置放胸口2向上跳离地面最少20到25cm。根据自己的能力而定,可以适当的增加距离。3当半空中,两手
呼啦圈能瘦腰吗(呼啦圈能瘦腹部吗?)呼啦圈能瘦腰吗(呼啦圈能瘦腹部吗?)大多数人感觉转呼啦圈不但可以增强抵抗力,还可以减肥瘦身,尤其是对腰部赘肉较多的朋友们,是瘦腰腹减腹部肥胖的好方法,因此,呼啦圈也变成一种减肥瘦身
魅力研习社(这个节目应该是叫魅力研习社)魅力研习社(这个节目应该是叫魅力研习社)由于我怕痛,护士小姑娘对我发动了镇痛技能。运气差这是亲妈不女汉子这个节目应该是叫魅力研习社笑一笑十年少NO。1媳妇儿昨天上秤,发现又胖了二斤
吴昕杜海涛(吴昕与杜海涛新店开业)吴昕杜海涛(吴昕与杜海涛新店开业)4月29日,有网友在社交平台上曝光了吴昕与杜海涛新店开业的视频,两人为自己的火锅新店站台宣传。吴昕穿着印有店名标识的黑色上衣,下面搭配一件豹纹裤,
飞行者摩天轮(深圳128米巨型摩天轮正式开放)飞行者摩天轮(深圳128米巨型摩天轮正式开放)南都讯摄影霍健斌记者陈盈珊4月18日,历经近三年的建设,备受瞩目的欢乐港湾湾区之光摩天轮正式开放。开业首日,现场排起长龙也有城市美容师
体育运动标志(浙江省第十七届运动会吉祥物会徽等标识正式发布)体育运动标志(浙江省第十七届运动会吉祥物会徽等标识正式发布)央广网杭州7月12日消息(记者张国亮)7月12日,浙江省金华市政府新闻办在杭州召开浙江省第十七届运动会系列标识新闻发布会
广州体育馆地址(广州这些体育场馆开放啦)广州体育馆地址(广州这些体育场馆开放啦)宅家多时,是否只吃不动腰身渐宽?好消息来了,广州不少体育场馆近日陆续有限开放,记者梳理已开放的体育场馆名单以及其中开放的区域和注意事项,为您
小天狼星的琐碎生活(小天狼星悲剧人物的一生)小天狼星的琐碎生活(小天狼星悲剧人物的一生)家族显赫布莱克家族是一个魔法世家,是英国最大最古老也是最富有的纯血统巫师家族之一,也是神圣二十八族之一,许多英国的巫师家庭都和他们有着或
后卫防守(NBA现役防守最强的五大后卫)后卫防守(NBA现役防守最强的五大后卫)第五名贝弗利贝弗利1次入选NBA最佳防守阵容第一阵容,2次入选NBA最佳防守阵容第二阵容。作为2009年的次轮秀,虽然贝弗利身高只有1米85
女人装扮(这才是职场女人该有的打扮)女人装扮(这才是职场女人该有的打扮)对于很多职场女人来说,通勤如何兼顾优雅女人味与整洁利落,一直是非常令人头疼的事情。毕竟日常搭配不是纸上谈兵,而是要准确把握力量感与柔美元素之间的