oracle 独立事务的含义和用法

Oracle数据库中的独立事务(AUTONOMOUS TRANSACTION,简称“AT”)是由主事务(以下MT)调用但是独立于它的事务。独立事务的特点是在AT被调用执行时,MT被挂起,在AT内部,一系列的DML可以被执行并且commit或rollback,而不会影响主事务的执行。
下面是一个Oracle数据库独立事务的示例:

主事务:

UPDATE emp SET job = ‘数据开发’ WHERE empno = 7311;

执行完成后并不进行commit操作。此时,job 值已发生改变,但并未执行提交或回滚的操作。

接下来是一个存储过程,它是一个独立事务:

CREATE OR REPLACE PROCEDURE autonomous_transaction_example AS
BEGIN
INSERT INTO SYSTEMLOG(SLID, SLTIMESTAMP, SL)
BEGIN
SELECT COUNT(*) INTO CC FROM test1 t1 WHERE t1.LTABLE_OWNER = ‘XMAN’;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(CC) || ’ rows will be deleted!’);
DELETE FROM TEST1 t1 WHERE t1.LTABLE_OWNER = ‘XMAN’;
DBMS_OUTPUT.PUT_LINE(‘Write log.’);
writesyslog(‘DELETE FROM TEST1 t1 WHERE t1.LTABLE_OWNER=XMAN’);
DBMS_OUTPUT.PUT_LINE(‘rollback!’);
END;
END;
/

注意:如果先执行主事务后,再执行存储过程,Oracle默认DDL操作会隐式提交主事务。为了测试独立事务是否会影响到主事务,可以先创建存储过程再执行主事务。

相关推荐

  1. oracle 独立事务含义

    2024-01-02 11:06:05       56 阅读
  2. vue中keep-alive含义

    2024-01-02 11:06:05       32 阅读
  3. oraclejson_arrayagg例子

    2024-01-02 11:06:05       30 阅读
  4. Oraclelistagg例子

    2024-01-02 11:06:05       25 阅读
  5. MySQL中innodb_status_output_locks含义

    2024-01-02 11:06:05       30 阅读
  6. oraclexmlagg

    2024-01-02 11:06:05       30 阅读
  7. oracle regexp_replace

    2024-01-02 11:06:05       31 阅读
  8. [hive] sql中distinct注意事项

    2024-01-02 11:06:05       63 阅读
  9. free函数注意事项

    2024-01-02 11:06:05       34 阅读
  10. QML键盘事件示例

    2024-01-02 11:06:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-02 11:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-02 11:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-02 11:06:05       82 阅读
  4. Python语言-面向对象

    2024-01-02 11:06:05       91 阅读

热门阅读

  1. 基于SpringBoot的家具商城设计与实现

    2024-01-02 11:06:05       59 阅读
  2. 排序算法——快速排序

    2024-01-02 11:06:05       66 阅读
  3. 数据预处理:标准化和归一化

    2024-01-02 11:06:05       55 阅读
  4. 机器学习中字符特征的处理方式

    2024-01-02 11:06:05       65 阅读
  5. c 生成16×16个像素点的rgb图片并转为yuv420P 格式

    2024-01-02 11:06:05       53 阅读
  6. MATLAB --- fullfile()函数的用法

    2024-01-02 11:06:05       59 阅读
  7. LeetCode 224:基本计算器

    2024-01-02 11:06:05       59 阅读
  8. LeetCode 热题 100——283. 移动零

    2024-01-02 11:06:05       62 阅读
  9. mysqldump导出函数、存储过程和视图

    2024-01-02 11:06:05       68 阅读
  10. 【排序算法】LeetCode-347. 前 K 个高频元素

    2024-01-02 11:06:05       50 阅读