`

Oracle自治事务的介绍(Autonomous Transactions)PRAGMA AUTONOMOUS_TRANSACTION

阅读更多

在你的一个事务(外层事务)中可以定义一个或几个自治事务。自治事务可以独立commit,不对外层事务产生影响,同样外层事务的 rollback 也对自治事务没有影响。通常可以考虑将自治事务定义成一个过程,在外层的事务中调用。
现在举个例子吧:
 create  or replace procedure p_record(p_sin in varchar2) as 
    pragma autonomous_transaction;
    begin
    insert into t_log values (p_sin,sysdate);
    commit;
    end;
因为这个procedure的作用是写log,无论操作成功与否(即无名块是否执行rollback),log当然是都应该记录的啦。所以要把它写成自治事务,让这个procedure的提交独立于调用它的无名块,在rollback时也不会影响到log的记录。

分享到:
评论

相关推荐

    Oracle自治事务的介绍(Autonomous_Transactions)

    Oracle自治事务的介绍(Autonomous_Transactions) Oracle自治事务是一种特殊的数据库事务机制,允许在调用事务的上下文中执行独立的事务。这种机制使用PRAGMA_AUTONOMOUS_TRANSACTION语句来定义自治事务。自治事务...

    oracle自治事务(Trigger)

    通过声明`Pragma Autonomous_Transaction;`,可以在触发器内创建一个独立于当前数据库会话的事务环境。这意味着在触发器内部进行的操作不会影响到触发器外的事务状态,同时外部事务的状态变化也不会影响到触发器内部...

    Oracle数据完整性嵌套事务调用分析研究

    在 Oracle 中,我们可以使用 PRAGMA AUTONOMOUS_TRANSACTION 语句来声明自治事务。 例如,在Proc_SaveBill存储过程中,我们可以使用自治事务来生成单据编号: ```sql CREATE OR REPLACE PROCEDURE Proc_SaveBill AS...

    Oracle中怎样用自治事务保存日志表

    要创建一个自治事务,您必须在匿名块的最高层或者存储过程、函数、数据包或触发的定义部分中,使用PL/SQL中的PRAGMA AUTONOMOUS_TRANSACTION语句。在这样的模块或过程中执行的SQL Server语句都是自治的。

    oracle触发器调用存储过程

    在触发器代码中,可以使用pragma autonomous_transaction命令来声明触发器的事务为自治事务。例如: ``` create or replace trigger trigger_main2_update before update on t_busi_main_presend2 for each row ...

    Autonomous_Obstacle_Avoidance_Car.rar_Avoding car_SIMULINK_ardui

    标题中的"Autonomous_Obstacle_Avoidance_Car"指的是一个自动避障汽车项目,而"Ardui"通常指的是Arduino,这是一个开源电子平台,常用于DIY电子项目和机器人制作。"SIMULINK_ardui"表明这个项目是通过Simulink进行...

    事务与锁定的问题 自治事务

    在这个例子中,`log_msg`过程使用了`PRAGMA AUTONOMOUS_TRANSACTION`指令,使其成为自治事务,即使主事务失败,日志记录也能成功提交。 #### 结论 事务和锁定是数据库管理中至关重要的概念,它们不仅保证了数据的...

    Introduction to Autonomous Mobile Robotics.zip_robotics_控制_机器_机器

    这一部分可能会介绍常用的机器人操作系统(ROS,Robot Operating System),它是许多机器人项目的基础。通过ROS,开发者可以实现传感器数据处理、路径规划、导航等功能。学习如何编写节点、发布和订阅消息,以及使用...

    Autonomous Driving in Urban Environments_Boss and the Urban Challenge

    DARPA比赛的冠军车“Boss”的相关文章,本文主要是系统介绍,涉及软件结构、感知、运动规划、决策等模块。同时,还分析了Boss在比赛时的表现,出现的bug,以及为什么出现这些bug。

    oracle开发常用知识

    为了声明一个存储过程或函数为自治事务,需要使用`Pragma Autonomous_Transaction`关键字。此声明意味着该存储过程中执行的操作将是独立的,不受外部事务状态的影响。例如: ```sql CREATE OR REPLACE PROCEDURE ...

    Autonomous_Guidance_MPC_and_LQR-LMI:自动驾驶汽车的运动学MPC和动态LPV-LQR状态反馈控制

    运动学MPC和动态增益调度状态反馈,用于控制自动驾驶汽车 该项目使您可以使用高级控制理论来解决自主制导问题。 该项目的创新部分是使用运动车辆模型的Takagi-Sugeno(TS)表示。 这使我们能够将非线性优化问题解决...

    Oracle自治数据库和自动化运维新特性概述.pptx

    4. 自动化事务处理:Oracle 自治数据库提供了自动化事务处理功能,可以自动处理事务,提高数据库的可用性和性能。 5. 自动化数据保护:Oracle 自治数据库提供了自动化数据保护功能,可以自动保护数据的安全和完整性...

    autonomous-mobile-orbit_executive_summary.pdf

    AMODS(自主移动在轨诊断系统)项目旨在确保提供物理在轨交互能力,以便生成诊断数据。这个创新系统克服了传统成本和技术障碍,采用模块化、立方体卫星(CubeSat)风格的设计方法。该系统由两个主要部分组成:1) 多...

    Oracle中独立事务的学习.docx

    在Oracle中,通过使用`PRAGMA AUTONOMOUS_TRANSACTION`语句,我们可以创建一个自主事务(Autonomous Transaction),这种事务在当前事务的上下文中运行,但有自己的提交和回滚机制,不受外部事务的影响。 1. **独立...

    藏经阁-IOT AND THE AUTONOMOUS VEHICLE IN THE CLOUDS_ SIMULTANEOUS L

    在这个领域中,"藏经阁-IOT AND THE AUTONOMOUS VEHICLE IN THE CLOUDS"探讨了一个关键的技术——同时定位与建图(Simultaneous Localization and Mapping, SLAM),并将其与大数据处理框架Kafka和Spark Streaming相...

    Autonomous_Driving_With_AirSim

    Autonomous_Driving_With_AirSim Team Members: Cheng Liang, Shuai Hao, Xiaoyu Li, Xujia Ji, Yong Chen, Yu Luo, Yuyun Wei, Yuzheng Sun

    基于Oracle自治数据库快速开发智能分析应用.pptx

    另一方面,Autonomous Transaction Processing (ATP) 适合事务处理和混合型工作负载,如事务处理、批量报告、物联网应用以及机器学习应用。 快速供应是Oracle自治数据库的一大亮点。只需回答几个简单的问题,如...

    Autonomous_Cars_FSDS_project

    自动驾驶汽车实验室 用于自动驾驶汽车实验室的存储库conatins源代码。 这是波兹南理工大学机器人与自主系统专业(自动...git clone https://github.com/MatPiech/Autonomous_Cars_FSDS_project.git fsds_utils/ 化验室

    feisikaer.rar_autonomous vehicle_feisikaer_光电_智能车 设计方案_自动控制

    标题中的“feisikaer.rar”可能是一个包含有关飞思卡尔智能车自动控制器设计的压缩文件,而“autonomous vehicle”指的是能够自主驾驶的车辆,即自动驾驶汽车。这里提到的“feisikaer”可能是该项目或团队的名称,...

    RaimSt.rar_Autonomous_FAULT DETECTION _RAIM_基线 matlab_故障检测机

    该MATLAB程序确定用于非精确接近飞行阶段的接收机自主完整性监测(RAIM)基线标准算法(恒速率算法)和指定的输入数据集的可用性和故障标志(故障检测)。

Global site tag (gtag.js) - Google Analytics