我只有一个连接,它对Oracle数据库的两个不同模式中的对象执行DML。我完成了一个涉及schema A中对象的事务,然后启动第二个事务来处理schema B中的对象。如果在处理第二个事务时发生任何错误,我希望回滚这两个事务的更改。这有可能吗?
发布于 2012-08-17 03:28:32
如果希望同时提交或回滚对两个架构所做的更改,则需要使用单个事务。一旦你提交了第一个事务,如果第二个事务失败了,你就不能回滚它了(当然,你可以使用闪回技术,但是它会使的方式变得更加复杂)。但是,如果您对两个模式上的工作使用单个事务,那么您将获得所需的行为,即所有更改都将自动提交或回滚。
https://stackoverflow.com/questions/11993921
复制相似问题