当前位置: 代码迷 >> Oracle开发 >> 关于Oracle事务提交的有关问题
  详细解决方案

关于Oracle事务提交的有关问题

热度:43   发布时间:2016-04-24 06:34:09.0
关于Oracle事务提交的问题
我有3个表A,B,C,我先更新A表,然后从A表筛选数据更新B表,然后从B表筛选数据更新C表,那么我是更新一次提交一次还是更新完3个表之后再一次提交呢?回滚也是一样
------解决思路----------------------
三个更新作为一个事务一起提交或回滚,


------解决思路----------------------
引用:

C语言?
三个update语句放在一起吧。
------解决思路----------------------
引用:

像你这样写应该也是属于同一个session,只要中间没有commit应该会同时提交或者回滚。

------解决思路----------------------
有事物控制规则的,java里面先手动事务管理。
1、获取数据库连接
2、先去掉自动提交con.setAutoCommit(false);// 更改JDBC事务的默认提交方式
3、#数据处理#
4、con.commit();//提交JDBC事务 con.rollback();//回滚事物
5、con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
6、释放数据库连接

 Pro*C支持标准SQL定义的事务。一个事务是一组SQL语句集合,Oracle把它当作单独的单元运行。一个事务从第一个SQL语句开始,遇到"EXEC SQL COMMIT"(执行当前事务对数据库的永久修改)或"EXEC SQL ROLLBACK"(取消从事务开始到当前位置对数据库的任何修改)时结束事务。当前事务由COMMIT或ROLLBACK语句结束后,下一条可执行SQL语句将自动开始一个新事务。
------解决思路----------------------
依据实际业务需要,若是要么都成功,要么都失败,则放在一个事务里面;否则可以考虑分开
  相关解决方案