oracle 自治事务

Oracle 自治事务可以在不干扰父事务的情况下独立执行,常用于匿名块、子过程、对象方法和触发器。通过示例展示了如何使用自治事务进行数据插入,以及在一个自治事务中提交只会使其自身的工作永久化。同时,给出了一个审计表的例子,说明自治事务如何记录失败的修改操作。
摘要由CSDN通过智能技术生成

oracle 自治事务可以使事务相对于父事务独立。利用自治事务,可以挂起当前执行的事务,开始一个新事务,完成一些动作,然后提交或回滚,但是这些都不影响当前所执行事务的状态。自治事务提供了一种用pl/sql 控制事务的新方法,可以用于:

  • 顶层匿名块

  • 子过程,独立的过程

  • 对象类型的方法

  • 触发器

我们来学习一下自治事务的使用方法,实例如下所示,先创建一个表,分别用自治事务和普通事务给表中插入数据:

SQL> create table t (msg varchar2(25));   

表已创建。

下面创建两个过程,分别是基于自治事务和普通事务。

自治事务

CREATE OR REPLACE PROCEDURE antonomous_insert    
AS
   PRAGMA AUTONOMOUS_TRANSACTION; --这个告诉数据库此外自治事务   
BEGIN
  INSERT INTO t VALUES('Autonomous Insert');    
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值