有些是隐式提交,比如 exit,建立新的会话

解决方案 »

  1.   

    update ..
    if xxxxx   exit ; //这里就提交了第1个?  return提交吗?
    update ..
    update ..commit;
      

  2.   

    如果你打开一个SQLplus然后输入一个insert语句,然后不要关,在打开一个.
    你select一下,看看有没有??答案是没有.除非你commit.
    所以需要写commit.
    但是如果关掉的话,那么它回自动提交.
    不管你用什么方式
     abort也回自动提交
      

  3.   

    学习一下什么叫事务吧
    对于DML都是要提交的。如果后面有DDL,那么是隐含提交之前所有DML的
      

  4.   

    不一定,用开发工具(Java tools,vb...)做事务处理也行. 
    (推荐: 用 pl/sql 方式做事务处理)
      

  5.   

    commit代表事务处理完毕。一般来说过程都是用来被调用的,除非楼主想用这个过程实现独立的一段事务,可以在最后提交。
    如果是被其他程序(如java,其他存储过程)调用,最好由调用程序来实现事务处理。这样的好处是,存储过程变得更为独立。想想若将来多个地方均需要使用该过程,没有commit的过程都可适用。