oracle中跨数据表空间调用存储过程事务控制
create or replace procedure admin.add()
as
begin
 user.add();
commit;
end;
请问这种情况下user.add()的事务是在user用户下控制的,还是说和admin.add()一起控制的? 求详解,小弟感激不尽;
              
------解决方案--------------------如果 user.add(); 里面有commit等事物,当然是user里面了。
如果没有,就是外面的admin下的commit
------解决方案--------------------SQL> truncate table test;
表被截断。
SQL> create or replace procedure test1
  2  as
  3  begin
  4  insert into test select 1,'test1' from dual;
  5  commit;
  6  end;
  7  /
过程已创建。
SQL> create or replace procedure test2
  2  as
  3  begin
  4  insert into test select 2,'test2' from dual;
  5  test1;
  6  insert into test select 3,'test3' from dual;
  7  rollback;
  8  end;
  9  /
过程已创建。
SQL> select * from test;
未选定行
SQL> exec test2;
PL/SQL 过程已成功完成。
SQL> select * from test;
        ID NAME
---------- --------------------------------------------------
         2 test2
         1 test1