提交事务处理
提交事务处理会使更改变为永久更改,擦除保存点并释放锁。
要显式提交事务处理,请使用 COMMIT 语句,或(在 SQL Developer 环境中)使用提交更改图标。
注:Oracle Database 在任何数据定义语言 (Data Definition Language,DDL) 语句之前和之后发出隐式 COMMIT 语句。有关 DDL 语句的信息,请参阅“关于数据定义语言 (DDL) 语句”。
在提交事务处理之前:
-
您所做的更改对您可见,但对数据库实例的其他用户不可观。
-
您所做的更改不是最终的更改,即可以使用 ROLLBACK 语句撤消这些所做的更改。
在提交事务处理后:
-
您所做的更改对其他用户可见,而且对其他用户在您提交事务处理之后运行的那些语句可见。
-
您所做的更改是最终的更改,即无法使用 ROLLBACK 语句撤消这些更改。
示例 3-7 会向 REGIONS 表中添加一行(这是个非常简单的事务处理),检查结果,然后提交事务处理。
示例 3-7 提交交易
在事务处理之前:
SELECT * FROM REGIONS
ORDER BY REGION_ID;
结果:
REGION_ID REGION_NAME
---------- -------------------------
1 Europe
2 Americas
3 Asia
4 Middle East and Africa
4 rows selected.
事务处理 (向表添加行):
INSERT INTO regions (region_id, region_name) VALUES (5, 'Africa');
结果:
1 row created.
检查是否已添加行:
SELECT * FROM REGIONS
ORDER BY REGION_ID;
结果:
REGION_ID REGION_NAME
---------- -------------------------
1 Europe
2 Americas
3 Asia
4 Middle East and Africa
5 Africa
5 rows selected.
提交事务处理:
COMMIT;
结果:
Commit complete.
另请参阅: Oracle Database SQL Language Reference 以了解有关 COMMIT 语句的信息