触发器(四、执行顺序控制)
Oracle11g开始提供了一个触发器顺序控制的功能,对于同时触发的多个触发器,可以用FOLLOWS语句来控制先后执行顺序。
但是FOLLOWS语法有一定的限制:只能用在同类型的多个触发器上
(before、after要一样;update、insert、delete要一样;行级、语句级要一样)
否则会报错ORA-25022: cannot reference a trigger of a different type
既然同一类型才能控制,绝大部分场景是不需要分2个触发器的,直接在触发器内部对语句按序执行就可以了。
我在开发过程中也没有遇到非要使用follows的应用场景,但作为一个功能,记录一下,说不定以后会碰到。
在表T_OBJECTS上加2个before update of触发器,分别对OBJECT_NAME和LAST_DDL_TIME列的update操作进行触发。
执行一个update语句,同时修改OBJECT_NAME和LAST_DDL_TIME列
发现最终结果是TRIGGER1的操作结果,说明先执行了TRIGGER2,再执行TRIGGER1。
修改一下触发顺序,让TRIGGER2在TRIGGER1之后执行:
再重新执行刚才的update语句看下结果
果然保留下来了trigger2的数据
触发器(四、执行顺序控制)相关推荐
- SQL格式日志转为syslog格式:触发器中执行Shell命令
很多企业网中都部署了日志中心,集中收集.分析和处理各种设备产生的日志. 但一些应用系统的日志是保存在数据库表中,如果需要提供syslog格式日志,除了进行代码改造外,一种快速的解决方法是使用SQL触发 ...
- Testng执行顺序控制
1.class执行顺序控制-testng.xml之preserve-order preserve-order:用来控制<test>里面所有<classes>的执行顺序.< ...
- oracle 一个表上的多个触发器的执行顺序
oracle 一个表上的多个触发器的执行顺序如下: before statement trigger->before row trigger->after row trigger-> ...
- 【Kotlin 协程】协程启动 ② ( 多协程控制 | launch 协程执行顺序控制 | Job#join() 函数 | async 协程执行顺序控制 | Deferred#await() 函数 )
文章目录 一.launch 协程执行顺序控制 二.async 协程执行顺序控制 三.完整代码 源码地址 : https://download.csdn.net/download/han1202012/ ...
- mysql 触发器采坑记录(mysql 触发器采坑记录 由于不了解mysql创建触发器要记录创建者IP,导致更改创建者IP后,触发器不可执行。 当创建触发器(视图、存储过程、函数)时,如果没有)
mysql 触发器采坑记录(语序有点凌乱,回头再整理) 由于不了解mysql创建触发器要记录创建者IP,导致更改创建者IP后,触发器不可执行. 当创建触发器(视图.存储过程.函数)时,如果没有指定创建 ...
- 关于SQLServer2005的学习笔记——约束、Check、触发器的执行顺序
通常我们认为一条 Insert 就是一个事务,但这个事务是如何执行的呢?如果保障事务执行时该事务的完整性和一致性呢?抛开存储机制.索引.锁等环节,让我们看看约束. Check 和触发器在这个过程中的先 ...
- Pytest用例执行顺序控制
有些场景用例是需要指定顺序执行的,或者直接跳过,或者根据条件跳过 一.默认顺序 二.指定顺序 三不执行 四.条件不执行 一.默认顺序:ASCII码的顺序自动排序 二.order控制 @pytest.m ...
- oracle 触发器执行ddl,在Oracle的触发器中执行DDL语句
触发器无需commit 也不能写commit 触发器和触发它的DML是同一个事务 DML提交了,触发器的操作也提交了,要不就一起回滚了 当然,如果你一定要在触发器里写COMMIT 那就用自治事务 相当 ...
- Linux下命令执行顺序控制与管道
一.命令执行顺序的控制 顺序执行多条命令 通常情况下,每次只能在终端输入一条命令,执行完成后,再输入第二条命令,然后再按回车执行.要想一次性输入完执行,可以使用简单的顺序执行";" ...
最新文章
- 取代java_如何评价 Kotlin?未来是否会取代 Java?
- 浅谈Delphi过程与函数02 - 零基础入门学习Delphi21
- C++下关于XML开源库的使用
- VS2008中设置字体大小和添加显示行号
- java泛型循环break continue_循环结构练习(示例代码)
- Debian update apache error AH00111: Config vairable ${APACHE_RUN_DIR} is not defined
- React+Redux仿Web追书神器
- 数据结构学习笔记(六)链表算法题
- mysql 可以承受多少人_多少人曾羡慕“双 11”时的爆单 可知谁在承受库存积压的风险...
- 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——1.4 统一资源定位符
- Security+ 学习笔记36 嵌入式系统安全
- KVM虚拟化实践-老男孩架构师课程教案笔记分享
- 如何用matlab做参数估计,参数估计的MATLAB实现
- 关于GX WORKS2中M8002、M8012、M8013无法使用的问题
- kaldi mobvoihotwords 唤醒词识别教程
- 利用Eclipse-Python简单爬取京东商城书籍信息进行可视化
- Android 输入法框架 (2)- 输入法显示和隐藏
- Finance_finacial_engineering_02
- java存根_java – Mockito在测试方法之外的存根
- empty() 是 (boolean) var 的反义词 is_null() 是 is_set() 的反义词!