Oracle自主事务处理

原创 2012年03月26日 18:57:49
--当一个子程序调用另外一个子程序时,事务提交或回滚都将影响两个子程序
--为防止一个子程序的事务影响其他子程序,可以将这个子程序标记为自主事务处理
--这样自主事务成为一个独立的事务处理,不影响其他子程序的事务
--pragma autonomous_transaction 用于标记子程序为自主事务处理

--自主事务过程
create or replace procedure proc_tran1
as
  v_sal emp.sal%type;
  pragma autonomous_transaction;--指定为自主事务
begin
  select sal into v_sal from emp where empno=7788;
  dbms_output.put_line('proc_tran1中显示7788的薪水:'||v_sal);
  rollback;  --回滚事务
end;

--主事务过程
create or replace procedure proc_tran2
as
    v_sal emp.sal%type;
begin
  update emp set sal=6666 where empno=7788;-- 修改7788薪水
  proc_tran1();--调用自主事务过程
  commit;
  select sal into v_sal from emp where empno=7788;
  dbms_output.put_line('proc_tran2中显示7788的薪水:'||v_sal);
end;

Oracle中的自治事务(一)

♪  事务        数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这...
  • YSC1123
  • YSC1123
  • 2016年02月23日 11:11
  • 1685

自主事务处理

一、事务和存储过程   在存储过程中如何使用事务。当需要在存储过程中同时执行多条添加、修改、删除SQL语句时,为了保证数据完整性,我们需要使用事务。使用方式和在PL-SQL中非常相似,但也有一些...

oracle事务处理

  • 2014年12月29日 15:53
  • 87KB
  • 下载

Oracle 11g ORA-14450: 试图访问已经在使用的事务处理临时表

现场系统报ORA-14450: 试图访问已经在使用的事务处理临时表。 session1: drop table test purge; create global temporary table te...

Oracle 存储过程的默认值参数和过程中的事务处理

1.存储过程的参数也可以是默认值,这样当调用该过程时,如果未向参数传入值,则该参数将使用定义的默认值     #  为JOB_PARAM,HIRE_PARAM和SALARY_PARAM参数设置了默认值...

Oracle中事务处理

1.  什么是事务      事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败。      例:网上转账...

oracle事务处理

预习事务处理   一 事务概念:由一组sql语句组成的一个逻辑工作单元   二 事务的属性:     2.1 原子性         一个事务是一个不可分割的逻辑工作单元,事务所包含的所有工作...

查找ORACLE出现“ORA-08177:无法连续访问此事务处理”问题的原因

ORA-08177: 无法连续访问此事务处理(Cannot serialize access),该问题是由ORACLE事务隔离级别引起的。 问题重现: 1、在事务1中执行:       updat...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle自主事务处理
举报原因:
原因补充:

(最多只允许输入30个字)