oracle 存储过程自制事物处理

```
PROCEDURE prc_log_info  (PRM_VER     IN VARCHAR2,   --报文版本号
                         PRM_SRC      IN VARCHAR2,   --定点编号
                         PRM_DES      IN VARCHAR2,   --参保地统筹区号
                         PRM_ERRORMSG IN VARCHAR2
                         )

IS
  PRAGMA AUTONOMOUS_TRANSACTION; //(oracle 自制事物处理功能可用于记录日志,主程序的rollback操作,不会影响到自制事物处理过程的commit操作。)
BEGIN
  NULL ;
  INSERT INTO R_DLLINFO_YD
   (ID,
    VER,
    SRC,
    DES,
    ERRORMSG
    )
  VALUES
   (SEQ_YD_ID.NEXTVAL,
    PRM_VER,
    PRM_SRC,
    PRM_DES,
    PRM_ERRORMSG
    );
   COMMIT;
END  prc_log_in

例如上面的prc_log_info() 方法进行调用的时候已经自制提交,
若果在该方法中再添加添加增删改操作后,
接着进行回滚操作,上面方法体里面的insert操作执行成功,
方法体中的增删改操作被回滚。

猜你喜欢

转载自blog.csdn.net/qq_28198893/article/details/80228320