大家都知道触发器是无需commit的,而且也不能写commit;触发器和触发它的DML是同一个事务
DML提交了,触发器的操作也提交了,所以无需Commit;否则就会造成错误信息。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
当然,如果你一定要在触发器里写COMMIT,那也是可以的,可以用Oracle中的自治事务来处理,自治事务就相当于一个事务里的子事务。
在正常情况下,Oracle规定在触发器中不能运行 DDL(即Create/Alter/Drop)语句和Commit/Rollback语句的,因为DDL操作是隐性提交的,在触发器不允许有Commit,如在触发器中加入DDL语句,这种隐性提交就会导致错误信息;但有时特殊情况下需要在触发器中使用DDL语句,这时怎么办。
可以采取以下的解决办法:
1.在可以在触发器中加入:pragma autonomous_transaction;(在DECLARE后面) 表示是自由事务处理。
如:
CREATE OR REPLACE TRIGGER T_create BEFORE insert ON T_Tax_INS_BD
for each row
DECLARE
pragma autonomous_transaction;
NRDSId varchar(500):='';
begin
通过以上方法即可解决触发器中不能有DDL语句的问题!
分享到:
相关推荐
oracle导出ddl语句 表 所有 过程 包
excel 生成oracle ddl , 工作中一般会出现这种情况,和其他单位合作开发项目时,对方会给我们一份他们的数据字典,excl或者world的,这种情况下我们要根据数据字典将表结构建好,但是一个字段一个字段的去复制粘贴会...
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的...在 Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA 的DDL语句。
在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句。最好不过的是因为它使用起来很简单。 1、获得单个表和索引DDL...
正在看的ORACLE教程是:Oracle9i取得建表和索引的DDL语句。...在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句
1.Oracle中的一些练习_ddl语句 2.最常用的联系表,企业员工表。以后Oracle联系表就使用这个表啦... 3.查询及删除重复记录的方法大全 4.ORACLE 中ROWNUM用法总结!
使用java连接数据库按需生成oracle卸数装数的control、selectSQL、建表ddl语句等文件
正在看的ORACLE教程是:Oracle 9i轻松取得建表和索引的DDL语句。...在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL
详细介绍了oracle的建表语句 增删改查 内外连接查询 授权用户 建sequence oracle常用内置函数 ddl语句 事务控制语句 tcl 等
00570 Oracle公司内部数据库培训资料-Les20_Oracle9i对DML和DDL语句的扩展(PPT 21页).ppt
ORACLE表生成MYSQL建表DDL
本人在工作中遇到了涉及到数据库行列之间相互转换的问题,在网上搜索了很久也没有一个比较完整的解释,通过本人自己的摸索测试,整理出来了Oracle中SQL语句行列之间相互转换的资料,大家可以下载学习。
ORACLE中的正则表达式的使用 动态执行SQL语句 动态创建游标 游标的创建方式 ORACLE循环操作 for循环 loop循环 while循环 判断操作
DDL parase并转换为BigQuery JSON模式和DDL语句模块,可在Python中使用。 特征 DDL解析并获取表架构信息。 当前,仅支持CREATE TABLE语句。 转换为和。 支持的数据库是MySQL / MariaDB,PostgreSQL,Oracle,...
oracle数据库转成mysql数据库的免费软件
oracle语句宝典大集 oracle DDL DCL 触发器 函数 存储过程
想找个从设计文档直接生成DDL的工具,发现这里太少了,所以找了一个上传。 功能比较强大,支持的数据库有: DB2 MariaDB MySQL Oracle PostgreSQL SQL Server SQLite 功能有: Create Tables SQL Drop Tables SQL ...
数据库文档生成器,根据数据库表DDL生成markdown和word文档.zip
一些常用的oracle语句,包括查询select语句,DDL语句,TCL语句等,还有PL/SQl编程