oracle中DDL和DML能在同一事务并一同回滚吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中DDL和DML能在同一事务并一同回滚吗相关的知识,希望对你有一定的参考价值。

先执行了DML全都成功了,再执行DDL时失败,回滚了事务,但先前执行的DML语句全都生效了,使用了保存点savepoint也没用,回滚时提示“从未创建保留点 ‘XXX’”的提示。请高手指点!!谢谢!
经过不断研究测试,使用另一个连接对象,可以实现DDL不影响DML事务的效果,只不过新的问题来了,整个事务过程中,因为不能回滚的原因导致已经成功的DDL语句需要进行执行撤消操作来回滚,但这个回滚是有损的,就是说如果删除数据列后只能新增原来同名的列,但该列所有数据却没办法还原了,如果使用临时表,那么如果数据行大的时候开消也比较大。

DML比如create table,不能使用事务管理,不能回滚。 参考技术A 在DML语句之前,写一句创建保留点得sql。然后在回滚是明确指定要savepoint上。

Oracle ddl 和 dml 操作

  ddl 操作

  

窗口设置用户权限的方法

 Oracle的数据类型

 按住Ctrl点击表名 ,可以鼠标操作

 插入的数据需要满足创建表的检查

 

 

 主表clazz删除数据从表设置级联也会一同删除

 

有约束也强制删除

 

 




 

Oracle dml操作

 

 简化分页查询

 

 

 

创建百万条记录的表

Oracle 数据库的备份 导入导出

 

 

 

 

 

 

 

以上是关于oracle中DDL和DML能在同一事务并一同回滚吗的主要内容,如果未能解决你的问题,请参考以下文章

oracle中DDL DML指啥?

oracle中DDL DML指啥?

PostgreSQL中的DDL支持回滚

Oracle ddl 和 dml 操作

oracle 死锁和锁等待的区别,锁等待

mysql分类和事务回滚