使用自治的存储过程,可以直接在存储过程里面写commit/rollback在存储过程的is\as后面声明PRAGMA AUTONOMOUS_TRANSACTION

解决方案 »

  1.   

    Update Rdc_Depot_Goodsinfo
                   set Estate='失效';
                     if SQL%NOTFOUND=false and SQL%FOUND=true then
                           commit;
                           dbms_output.put_line('test');
                           else
                           rollback;
                     end if;
      

  2.   

    create or replace function test return varchar2 as
        v_name varchar2(20):='OK';
    begin
        update table a set a.name=v_name;
        commit;
        return ('成功更新!');  --执行成功后返回信息
        exception
            when others then 
               rollback;       --如果更新过程出现异常则回滚
               return ('更新失败!'); --显示更新失败信息.
    end;
      

  3.   

    上面是在函数或过程中实现,另一方法用网友drabit(square) 的方法.