Oracle 事务的開始与结束
当下列事件之中的一个发生时,事务就開始了:
- 连接到数据库上,并运行了第一天 DML 语句;
- 当前一个事务结束后,又输入了另外一条 DML 语句;
当下列事件之中的一个发生时,事务就结束了:
- 运行 COMMIT 或 ROLLBACK语句;
- 运行一条 DLL语句,比如 CREATE TABLE 语句;在这样的情况下, 会自己主动运行 COMMIT 语句;
- 运行一条 DCL语句,比如GRANT语句;在这样的情况下,会自己主动运行COMMIT语句;
- 断开与数据库的连接。在退出SQL*Plus时,一般会输入EXIT命令,此时会自己主动运行COMMIT语句。假设SQL*Plus被意外终止了(比如运行SQL*Plus的计算机崩溃了),那么就会自己主动运行ROLLBACK语句;
- 运行了一条DML语句,该语句却失败了;在这样的情况中,会为这个无效的DML语句运行ROLLBACK;
注意:事务完毕之后,假设不显示地提交或回滚事务,都被觉得是不好的编程习惯,因此确保在每一个事务后面都要运行COMMIT或ROLLBACK语句。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。