自治事务和非自治事务的区别
![]()
下面是个简单的测试,可以让大家更加清楚的明白自治事务和非自治事务的区别: SQL> create table chris_test (name varchar2(200));
Table created.
SQL> create or replace procedure Autonomous_insert
as
pragma autonomous_transaction;
begin
insert into chris_test values (Autonomous Insert!);
commit;
end;
Procedure created.
SQL> create or replace procedure Nonnomous_insert
as
begin
insert into chris_test values (Nonnomous Insert!);
commit;
end;
Procedure created.
SQL> begin
insert into chris_test values (Anonymous Block!);
Nonnomous_insert;
rollback;
end;
PL/SQL procedure successfully completed.
SQL> select * from chris_test;
NAME
------------------------------------------------ Anonymous Block!
Nonnomous Insert!
SQL> truncate table chris_test;
Table truncated.
SQL> begin
insert into chris_test values (Anonymous Block!);
Autonomous_insert;
rollback;
end;
PL/SQL procedure successfully completed.
SQL> select * from chris_test;
NAME
----------------------------------------------
Autonomous Insert!
0 条评论
欢迎留下您的评论
红框选项必须输入,不允许html代码。