51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> oracle >> 文章正文

oracle中跨数据表空间调用存储过程事务控制

更新时间:2013-5-18:  来源:51代码网

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

赞助商链接
推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |