自治事务
看看在oracle中一个事务调用另外一个事务的情况:
事务A:
Begin
DML;
事务B
End;
事务B:
Begin
Commit;
End;
事务A对事务B中的操作可见,如果在事务B充commit,会将事务A中的DML也commit掉,自治事务就是来解决这样的问题的,使得事务B中的提交或回滚对A不可见。
使用一个例子来对比一下自治事务和普通的事务的不同:
SQL> create or replace procedure pro_test_tran is
2 begin
3 commit;
4 end;
5 /
Procedure created
使用pragma autonomous_transaction;来标识使用自治事务
SQL>
SQL> create or replace procedure pro_test_auto is
2 pragma autonomous_transaction;
3 begin
4 commit;
5 end;
6 /
Procedure created
SQL> select a.sal from scott.emp a where a.empno = 7369;
SAL
------------
812.60
SQL> begin
2 update scott.emp a set a.sal = a.sal + .01 where a.empno = 7369;
3 pro_test_auto;
4 rollback;
5 end;
6 /
PL/SQL procedure successfully completed
调用了pro_test_auto以后并没有将父事务中的dml提交掉:
SQL> select a.sal from scott.emp a where a.empno = 7369;
SAL
------------
812.60
SQL>
SQL> begin
2 update scott.emp a set a.sal = a.sal + .01 where a.empno = 7369;
3 pro_test_tran;
4 rollback;
5 end;
6 /
PL/SQL procedure successfully completed
调用了pro_test_ tran将父事务中的dml提交掉了:
SQL> select a.sal from scott.emp a where a.empno = 7369;
SAL
------------
812.61
分享到:
相关推荐
这个压缩包“plsql.rar”包含了多个文档,详细讲述了PLSQL的相关知识点,包括其书写规则、语法、存储过程以及异常处理。 1. **PLSQL的书写及语法**: PLSQL的基本结构包括声明部分(DECLARE)、执行部分(BEGIN......
- **事务管理**:PLSQL支持事务的开始、提交、回滚,确保数据的一致性。 学习PLSQL,你需要理解其语法特性,如如何声明和初始化变量,如何编写过程和函数,如何处理异常,以及如何利用控制结构进行流程控制。此外,...
PLSQL由三部分组成:声明部分(DECLARE)、执行部分(BEGIN...END)和异常处理部分(EXCEPTION)。在声明部分,我们定义变量、游标、常量和子程序。执行部分是PLSQL的主要工作区,用于编写业务逻辑。异常处理部分则...
PLSQL的异常处理机制允许开发者预定义或自定义异常,并通过BEGIN...EXCEPTION...END结构来捕获和处理异常。这有助于提高程序的健壮性,确保在出现错误时能够优雅地处理。 6. PLSQL的游标: 游标(CURSOR)是PLSQL中...
9. **事务管理**:学习如何在PLSQL中使用COMMIT和ROLLBACK来管理事务,保证数据的一致性和完整性。 10. **性能优化**:了解如何通过索引、绑定变量、批量处理等技术优化PLSQL代码的性能。 11. **调试技巧**:掌握...
PLSQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令。通过使用 PLSQL 程序单元处理 SQL 的数据定义和数据控制元素。 PLSQL 支持所有 SQL 数据类型和所有 SQL 函数,同时...
在多用户环境下,PLSQL提供了事务管理功能,包括COMMIT、ROLLBACK和SAVEPOINT,用于确保数据的一致性和完整性。同时,还可以使用锁定机制避免并发问题。 9. 连接池管理: 在应用程序中,通过PLSQL可以有效地管理...
- **事务处理**:通过BEGIN、COMMIT和ROLLBACK语句,可以确保一组操作的原子性,即使在发生错误时也能保证数据的一致性。 - **异常处理**:通过EXCEPTION部分,可以捕获和处理运行时错误,提高程序的健壮性。 - **...
7. **事务管理**:PLSQL支持事务的概念,可以使用COMMIT提交事务,ROLLBACK回滚事务,确保数据的一致性和完整性。 8. **动态SQL**:PLSQL允许在运行时构建和执行SQL语句,增强了灵活性和适应性。 9. **PL/SQL对象...
此外,了解如何管理和优化PLSQL代码也很重要,包括索引的使用、游标的管理、事务控制和批量处理等。对于大型企业级应用,PLSQL还常常与Oracle的其他高级特性如分区、物质化视图、物化 join 和并行执行等结合使用,以...
PLSQL的异常处理机制允许程序员优雅地处理错误,避免程序中断。预定义的异常和自定义异常结合使用,可以创建健壮的数据库应用程序。 九、事务管理 在PLSQL中,事务(TRANSACTION)是数据库操作的基本单位。提交、...
InstantClient包含了必要的库文件,使得PLSQL Developer可以远程连接到Oracle数据库,进行数据查询、更新、事务处理等操作。 PLSQL Developer的主要功能包括: 1. **代码编辑器**:提供语法高亮、自动完成、错误...
9. **PLSQL的事务管理**:可以使用BEGIN TRANSACTION、COMMIT、ROLLBACK等语句进行事务的开始、提交和回滚,确保数据的一致性。 10. **PLSQL的性能优化**:通过索引、存储优化、批量处理、减少网络往返等方法,可以...
它扩展了SQL,允许开发者编写存储过程、函数、包、触发器等,提供了更强大的数据处理能力和事务控制功能。在64位操作系统环境下,PLSQL的64位版本能更好地利用系统的硬件资源,处理大数据量和复杂计算,为大型企业级...
它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...
在使用PLSQL Developer时,用户可能还需要了解Oracle的体系结构,包括表空间、用户、权限等概念,以及如何通过PL/SQL语法进行数据操作和事务管理。对于更高级的用法,如性能优化、存储过程的并发控制和异常处理,也...
PLSQL支持事务的概念,允许用户以原子操作的方式处理一系列数据库操作。COMMIT提交事务,ROLLBACK回滚事务。 八、PLSQL的标签和快速定位 在本教程中,每个知识点可能都有对应的标签,便于用户快速查找和定位所需...
12. **事务管理**:PLSQL支持事务的概念,包括COMMIT、ROLLBACK和SAVEPOINT操作,确保数据的完整性和一致性。 13. **并发控制**:PLSQL提供了锁定机制来处理多个用户同时访问同一数据的情况,如SELECT...FOR UPDATE...
此外,PLSQL提供了事务管理功能,你可以使用COMMIT提交事务,使所有更改永久保存,或使用ROLLBACK回滚事务,撤销所有未提交的更改。这对于保持数据库的一致性和完整性至关重要。 异常处理是PLSQL的一个重要特性,...
在实际应用中,PLSQL通常用于企业级数据库管理系统的后端开发,与前端应用程序交互,处理大量数据操作和事务处理。通过《Oracle PLSQL 从入门到精通》这本书,你将能够系统地学习和实践这些知识,逐步成为一名熟练的...