日期:2014-05-16  浏览次数:20386 次

什么是ORACLE数据库的事务

为了有效地控制事务(Transactions),ORACLE引入了两个显式的事务(Transactions)控制命令(语句)。一个是COMMIT,另一个是ROLLBACK。

ORACLE数据库的事务(Transactions)可由:

?? ? ? ? 一个或多个DML语句组成。
?? ? ? ? 一个DDL语句组成。
?? ? ? ? 一个DCL语句组成。

那么如何标识一个事务(Transactions)呢?因为ORACLE公司在开始时是瞄准联机事务处理(OLTP)的,所以它对事务处理提供了强有力的支持。ORACLE可以自动地标识一个事务(Transactions)。

ORACLE的一个事务是以第一个可执行的SQL语句开始。当下列事件之一发生时结束。

1.? ? ? ? 用户执行了COMMIT语句(提交)。
2.? ? ? ? 用户执行了ROLLBACK语句(回滚)。
3.? ? ? ? 用户执行了DDL语句(自动提交)。
4.? ? ? ? 用户执行了DCL语句(自动提交)。
5.? ? ? ? 用户正常退出SQL*PLUS(自动提交)。
6.? ? ? ? 用户非正常退出SQL*PLUS(自动回滚)。
7.? ? ? ? 系统崩溃,包括硬件或软件故障(自动回滚)。


作为一位ORACLE的专业人员,你应该尽可能地使用COMMIT和ROLLBACK语句来显式地控制事务的提交和回滚。因为使用从3到7的隐显式事务控制特性有时可能产生意想不到的结果。现在我们可以使用这两个语句把12.14节中在银行的自动提款机(ATM)上那些逻辑上相关的操作集成为一个事务。这些逻辑上相关的操作要么全部完成(提交),要么全部放弃(回滚)。

DML语句(数据操作语言)Insert、Update、? Delete、Merge
DDL语句(数据定义语言)Create、Alter、? Drop、Truncate
DCL语句(数据控制语言)Grant、Revoke
事务控制语句 Commit? 、Rollback、Savepoint