下表列出了 XA_START 函数和 XA_END 函数的 flag 字段中使用的常量。

    DBMS_XA 可能的常量返回值

    下表列出了 DBMS_XA 可能的常量返回值。

    名称

    类型

    取值

    描述

    XA_RBBASE

    PLS_INTEGER

    100

    回滚代码的下限范围

    XA_RBROLLBACK

    PLS_INTEGER

    XA_RBBASE

    由未知原因引起的回滚

    XA_RBCOMMFAIL

    PLS_INTEGER

    XA_RBBASE+1

    由通信故障引起的回滚

    XA_RBDEADLOCK

    PLS_INTEGER

    检测到死锁

    XA_RBINTEGRITY

    PLS_INTEGER

    XA_RBBASE+3

    检测到违反资源完整性的状况

    XA_RBOTHER

    PLS_INTEGER

    XA_RBBASE+4

    资源管理器 RM 回滚事务的原因未列出

    XA_RBPROTO

    PLS_INTEGER

    XA_RBBASE+5

    资源管理器 RM 出现协议错误

    XA_RBTIMEOUT

    PLS_INTEGER

    XA_RBBASE+6

    事务分支花费时间很长

    XA_RBTRANSIENT

    PLS_INTEGER

    XA_RBBASE+7

    可以重试事务分支

    XA_RBEND

    PLS_INTEGER

    XA_RBTRANSIENT

    回滚代码的上限(包括上限)

    XA_NOMIGRATE

    PLS_INTEGER

    9

    事务分支可能已经完成

    XA_HEURHAZ

    PLS_INTEGER

    8

    事务分支可能已经完成

    XA_HEURCOM

    PLS_INTEGER

    7

    事务分支可能已经提交

    XA_HEURRB

    PLS_INTEGER

    6

    事务分支可能已经回滚

    XA_HEURMIX

    PLS_INTEGER

    5

    XA_RETRY

    PLS_INTEGER

    4

    例行返回无效,可能会补发

    XA_RDONLY

    PLS_INTEGER

    3

    事务是只读的并且已经提交

    XA_OK

    PLS_INTEGER

    0

    正常执行

    XAER_ASYNC

    PLS_INTEGER

    -2

    异步操作未解决

    XAER_RMERR

    PLS_INTEGER

    -3

    事务分支中资源管理器报错

    XAER_NOTA

    PLS_INTEGER

    -4

    XID 无效

    XAER_INVAL

    PLS_INTEGER

    -5

    给出的参数无效

    XAER_PROTO

    PLS_INTEGER

    -6

    常规调用前后关系不当

    XAER_RMFAIL

    PLS_INTEGER

    -7

    资源管理器不可用

    XAER_DUPID

    PLS_INTEGER

    -8

    XID 已存在

    XAER_OUTSIDE

    PLS_INTEGER

    -9

    资源管理器执行全局事务以外的工作