加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Oracle是否在错误时回滚事务?

发布时间:2020-12-12 08:49:23 所属栏目:MsSql教程 来源:网络整理
导读:这感觉就像一个愚蠢的问题,但我在Oracle事务管理概念指南中看到以下内容: A transaction ends when any of the following occurs: A user issues a COMMIT or ROLLBACK statement without a SAVEPOINT clause. A user runs a DDL statement such as CREATE,D
这感觉就像一个愚蠢的问题,但我在Oracle事务管理概念指南中看到以下内容:

A transaction ends when any of the
following occurs:

A user issues a COMMIT or ROLLBACK
statement without a SAVEPOINT clause.

A user runs a DDL statement such as
CREATE,DROP,RENAME,or ALTER. If the
current transaction contains any DML
statements,Oracle first commits the
transaction,and then runs and commits
the DDL statement as a new,single
statement transaction.

A user disconnects from Oracle. The
current transaction is committed.

A user process terminates abnormally.
The current transaction is rolled
back.

我是否要解释最后一点意味着如果我发出一个有错误的查询,那么事务将被回滚?

解决方法

此上下文中的“用户进程”是指在客户端计算机上运行的进程,该进程创建与Oracle的连接.换句话说,如果您使用应用程序A(SQL * Plus,TOAD等)连接到Oracle,则用户进程是SQL * Plus,TOAD等.如果该用户进程在您处于中间状态时死亡事务,该事务将被回滚.一旦PMON发现客户端已经死亡可能需要一些时间,就会发生这种情况 – 对于Oracle来说,区分用户进程的失败和刚刚未发出命令的用户进程并不总是微不足道的.此时此刻.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读