关于事务处理问题2

jornet 2006-04-07 11:32:40
分别出现以下情况,结果是怎样的呢?
1。开始事务--〉一系列更新--〉关闭页面(等于没有提交事务的过程)
请问这种情况会事务回滚么?那又是谁去调用的事务回滚呢
2。开始事务--〉一系列更新--〉设置事务为自动提交(这里会抛异常么?)--〉更新
这种情况数据是怎么更新的呢
3。开始事务--〉一系列更新--〉开始事务(这里会抛异常么?)--〉更新--〉提交事务
这种情况结果是不是和2一样呢

个人觉得都会事务回滚,即都没更新,请问对么?
...全文
285 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jornet 2006-04-09
  • 打赏
  • 举报
回复
怎么没人确认一下?有专家么?
liuyi8903 2006-04-09
  • 打赏
  • 举报
回复
开始事务1
更新A
设置事务为自动提交(实际是开始新的事务)
更新B
回滚事务1
------------
我觉得这个的执行结果是更新A失败,更新B执行成功,不知道这样理解可不可以
================================

你可以设置保存点!
如果在一个事务里面控制.当然那就不存在保存点了!
liuyi8903 2006-04-08
  • 打赏
  • 举报
回复
1开始事务--〉一系列更新--〉关闭页面(等于没有提交事务的过程)
-------------------------
会话一结束.会自动回滚


2。开始事务--〉一系列更新--〉设置事务为自动提交(这里会抛异常么?)--〉更新
这种情况数据是怎么更新的呢
---------------------------------------
抛不抛异常就看你的业务了.如果中间出错了肯定出异常啊.这里你自己得作个判断.
因为你是批量.可以在存储过程中写exception .... rollback;

3。开始事务--〉一系列更新--〉开始事务(这里会抛异常么?)--〉更新--〉提交事务
-----------------------------------------
是的,也会.
liuyi8903 2006-04-08
  • 打赏
  • 举报
回复
是的.我指的业务是程序的实现.

比方由于各种因素.如回滚段小. 或者commit等因素所产生的01555

jornet 2006-04-08
  • 打赏
  • 举报
回复
liuyi8903(tony):对于第2,3种情况,我觉得和业务没有关系,换个说法,比如说如下的的事务操作允许么:

开始事务1
一批更新
开始事务2
一批更新
提交事务2
一批更新
提交事务1
------------
我有点影像,好像oracle支持这样多事务的,请专家确认一下,这样可以么
-------------------------------------------------------------------------
再举个例子:

开始事务1
更新A
设置事务为自动提交(实际是开始新的事务)
更新B
回滚事务1
------------
我觉得这个的执行结果是更新A失败,更新B执行成功,不知道这样理解可不可以

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧