oracle 触发器执行ddl,在Oracle的触发器中执行DDL语句
触发器无需commit
也不能写commit
触发器和触发它的DML是同一个事务
DML提交了,触发器的操作也提交了,要不就一起回滚了
当然,如果你一定要在触发器里写COMMIT
那就用自治事务
相当于一个事务里的子事务
正常情况下,Oracle规定在触发器中不能运行 ddl语句和commit,rollback语句。
解决办法有两种:
1.在可以在触发器中加入:pragma autonomous_transaction; 表示自由事务处理。
如:
CREATE OR REPLACE TRIGGER T_create BEFORE insert ON T_RCatalogue
for each row
DECLARE
pragma autonomous_transaction;
NRDSId varchar(500):='';
begin
2.可以另外写一个方法,把dll语句传递到这个方法中去执行。
注释:
ddl语句:DDL语句用语定义和管理数据库中的对象,如Create,Alter,Drop,truncate等;DDL操作是隐性提交的!操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger
DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。如insert,delete,update,select等都是DML.
oracle 触发器执行ddl,在Oracle的触发器中执行DDL语句相关推荐
- java触发器如何创建表_在java 中执行触发器代码、创表语句
由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表. /**建立中间表*/ public static final String createMidd ...
- python的执行过程_在交互式环境中执行Python程序过程详解
前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...
- 【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
文章目录 一.判定当前线程是否是主线程 二.子线程中执行主线程方法 三.主线程中执行子线程方法 一.判定当前线程是否是主线程 在 Android 中 , 如果要判定当前线程是否是主线程 , 可以使用如 ...
- js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南
js执行环境作用域和闭包 It may seem surprising, but in my opinion the most important and fundamental concept to ...
- linux同一目录文件无法执行,linux – 无法在特定目录中执行文件
我们遇到了一个奇怪的问题,非root用户无法在某些目录中执行任何文件(脚本或二进制文件).本抄本说明了这个问题: [root@b6 /]# mkdir q [root@b6 /]# cp /bin/e ...
- python交互式环境执行_如何在交互式环境中执行Python程序
如何在交互式环境中执行Python程序 相信接触过Python的小伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同C d ...
- linux ./ 执行run文件,如何在Ubuntu中执行.bin和.run文件
在解释如何在Ubuntu上执行.bin和.run文件之前,让我们首先定义这些文件扩展名到底是什么: Bin档:Ubuntu中的Binary或BIN文件指的是安装软件包,其中大多数是self-extra ...
- java 执行javascript_说说如何在 Java 中执行 JavaScript 脚本
Java 是强类型的静态语言,即所有的代码在运行之前都必须先进行严格的类型检查并编译为 JVM 字节码.这样做虽然保证了安全与性能,但却牺牲了灵活性.而那些动态语言(JavaScript .Pytho ...
- python执行批处理文件_如何从Python中执行批处理文件,从而改变调用进程的环境?...
Is it possible to call init_env.bat from python in a way that allows init_env.bat to alter the envir ...
- oracle 拷贝文件到asm,Oracle 从ASM复制文件到文件系统
工作中,有时需要把文件从ASM中复制到文件系统中或者反过来,做一些维护操作,本文介绍了4种复制文件的的方法:ASMCMD中的cp命令(11g) dbms_file_transfer包 rman的con ...
最新文章
- 利用 VMWare 搭建随机拓扑网络
- 三星电子网络营销重拳出击芯片制造力求“差异化”取胜智能手机市场
- python爬虫可以干什么-python爬虫能够干什么
- 构建一个计算机网络,计算机网络--网络构建(一)
- 理科大学二本计算机系,大学最好就业的二本专业:高校男生女生二本理科比较好的专业...
- nyoj_111_分数加减法_201311281341
- javascript基础之判断变量类型
- 2022爱分析·营销服务一体化实践报告
- 恶魔奶爸语法7-9课
- 计算机技术在生物学中的应用鲁东大学,生物科学与技术学院
- UVALive 4850 Installations——思维
- [转]基于POI的功能区划分()
- Google基础设施架构的安全设计
- 阴阳师服务器维护结界卡,阴阳师近期结界卡断粮 详解原因及解决办法
- 微信又双叒更新了!这次的隐藏功能,又一大型集体游街示众的 “社死“ 现场......!
- 用代码移动桌面图标(贪吃蛇)
- 80句励志名言名句-用来时刻鞭策自己
- matlab 拐点 c语言,如何使用Matlab找到含噪数据序列的拐点?
- 罗斯蒙特3051SERS系统工作原理
- 问题三十一: 输入一个三位数n,判断输出n是否为水仙花数。 若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33)。