1开始一个事物处理:
语法:
SET TRANSACTION {READ ONLY | USE ROLLBACK SEGMENT segment}
例:
SQL> SET TRANSACTION READ ONLY
SQL> SELECT * FROM CUSTOMERS
WHERE Turner';
SQL> COMMIT
我们将在今天的晚些时候来讨论COMMIT 语句这里的SET TRANSACTION READ ONLY 允许你锁定一个记录集直到事务结束
你可以在下列语句中使用READ ONLY 选项
SELECT
LOCK TABLE
SET ROLE
ALTER SESSION
ALTER SYSTEM
选项USE ROLLBACK SEGMENT 告诉ORACLE 数据库提供数据回溯的存储空间段
2结束一个事务处理:
在ORACLE 语法中结束事务处理语句的语法如下
COMMIT [WORK]
[ COMMENT 'text'| FORCE 'text' [, integer] ] ;
它的命令语法与Sybase 的语法是相同的
语法
COMMIT (TRANSACTION | TRAN | WORK) (TRANSACTION_NAME)
COMMIT 命令将保存在一项事务中所进行的所有的改变
在开始一项事务处理之前要先运行COMMIT 命令以确保在之前没有事务未被确认
例如:
SQL> COMMIT;
SQL> SET TRANSACTION READ ONLY;
SQL> SELECT * FROM CUSTOMERS
WHERE Turner';
---Do Other Operations---
SQL> COMMIT;
在ORACLE 中COMMIT 语句的使用方法如下
INPUT
SQL> SET TRANSACTION;
SQL> INSERT INTO CUSTOMERS VALUES("John MacDowell", "2000 Lake Lunge Road", "Chicago", "IL", 42854, 7);
SQL> COMMIT;
取消事务处理
在一个事务处理的过程中常常会运行一些错误检查以确认在过程中是否语句是运行
成功你可以使用ROLLBACK 语句来撤消事务中所做的每一项工作即便工作是成功的
你也可以撤消但是这必须是在COMMIT 之前ROLLBACK 语句必须在一个事务之中
运行它可以一直撤消到事务的开始也就是说数据库会一直返回到事务处理刚开始的
状态在ORACLE 7 中它的语法形式如下
SYNTAX
ROLLBACK [WORK]
[ TO [SAVEPOINT] savepoint
| FORCE 'text' ]
如你所见该命令可以设置事务的SAVEPOINT
SQL> SET TRANSACTION;
SQL> INSERT INTO CUSTOMERS VALUES
("Bubba MacDowell", "2222 Blue Lake Way", "Austin", "TX", 39874, 8);
SQL> ROLLBACK;
在事务中使用保存点
在事务中使用ROLLBACK 可以取消整个的事务但是你也可以在你的事务当中使用
语句进行部分地确认Oracle 中允许你在当前事务中设一个保存点从这一点开始如果你使用了ROLLBACK 命令那么系统将会回到保存点时的状态而在保存点之前的语句将会得到确认在ORACLE 中创建一个保存点的语法格式如下
SAVEPOINT savepoint_name;
下边是使用ORACLE 语法的例子
SQL> SET TRANSACTION
SQL> UPDATE BALANCES SET CURR_BAL = 25000 WHERE ACCOUNT_ID = 5;
SQL> SAVEPOINT save_it;
SQL> DELETE FROM BALANCES WHERE ACCOUNT_ID = 5;
SQL> ROLLBACK TO SAVEPOINT save_it;
SQL> COMMIT;
以上语句结果:保存点save_it前的更改全部更新
SQL> SET TRANSACTION;
SQL> UPDATE BALANCES SET CURR_BAL = 25000 WHERE ACCOUNT_ID = 5;
SQL> SAVEPOINT save_it;
SQL> DELETE FROM BALANCES WHERE ACCOUNT_ID = 5;
SQL> ROLLBACK TO SAVEPOINT save_it;
SQL> ROLLBACK;
以上语句结果:所有更改均未接受,保存点save_it前的更改也撤销
本文详细介绍了Oracle数据库中的事务处理操作,包括如何开始、提交、回滚事务,以及如何使用保存点来实现部分提交。通过具体示例展示了SET TRANSACTION、COMMIT、ROLLBACK等命令的用法。

483

被折叠的 条评论
为什么被折叠?



