oracle独立事务,Oracle中独立事务的处理
1:
創(chuàng)建存儲(chǔ)過程emp_p2,查詢id為0的雇員的信息,并回滾事務(wù)
create or replace procedure emp_p2 as
a?? varchar2(50);
begin
select e.name into a from employees e where e.id='0';
dbms_output.put_line('p2:' || a);
rollback;
end emp_p2;
創(chuàng)建存儲(chǔ)過程emp_p1,更新id為0的雇員信息
create or replace procedure emp_p1 as
b varchar2(50);
begin
update employees e set e.name='白貓警長' where e.id='0';
emp_p2();
select e.name into b from employees e where e.id='0';
dbms_output.put_line('p1: ' || b);
end emp_p1;
運(yùn)行存儲(chǔ)過程emp_p1,
begin
emp_p1();
end;
運(yùn)行結(jié)果:
p2: 白貓警長
p1: 黑貓警長
說明在emp_p2存儲(chǔ)過程中的rollback影響了emp_p1存儲(chǔ)過程
2:為了使emp_p2中的存儲(chǔ)過程不影響到emp_p1存儲(chǔ)過程,我們可以把emp_p2設(shè)置為自主的存儲(chǔ)過程
create or replace procedure emp_p2 as
a? varchar2(50);
pragma? autonomous_transaction;
begin
select?e.name into a from employees e where e.id='0';
dbms_output.put_line('p2:' || a);
rollback;
end emp_p2;
再調(diào)用存儲(chǔ)過程emp_p1,輸出結(jié)果為:
p2: 黑貓警長
p1: 白貓警長
總結(jié)
以上是生活随笔為你收集整理的oracle独立事务,Oracle中独立事务的处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqserver对比oracle的区别,
- 下一篇: 按照 排序 oracle,oracle