美文网首页
第五十八章 SQL命令 %INTRANSACTION

第五十八章 SQL命令 %INTRANSACTION

作者: Cache技术分享 | 来源:发表于2021-10-28 09:25 被阅读0次

    <center> 第五十八章 SQL命令 %INTRANSACTION

    显示事务状态。

    大纲

    %INTRANSACTION
    %INTRANS
    

    参数

    描述

    %INTRANSACTION语句设置SQLCODE以指示事务状态:

    • 如果当前在事务中,则SQLCODE=0
    • 如果不在事务中,则SQLCODE=100

    事务正在进行时,%INTRANSACTION返回SQLCODE=0。此事务可以是由START TRANSACTIONSAVEPOINT发起的SQL事务。它也可以是由TSTART发起的ObjectScript事务。

    事务嵌套对%INTRANSACTION没有影响。SET TRANSACTION%INTRANSACTION没有影响。

    还可以使用$TLEVEL确定事务状态。%INTRANSACTION仅指示事务是否正在进行。$TLEVEL指示事务是否正在进行以及当前的事务级别数。

    示例

    以下嵌入式SQL示例显示%INTRANSACTION如何设置SQLCODE

    ClassMethod %INTRANSACTION()
    {
        n SQLCODE
        &sql(%INTRANSACTION)
        w "Before %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL,!
        &sql(SET TRANSACTION %COMMITMODE EXPLICIT)
        n SQLCODE
        &sql(%INTRANSACTION)
        w "SetTran %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL,!
        &sql(START TRANSACTION)
        n SQLCODE
        &sql(%INTRANSACTION)
        w "StartTran %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL,!
        &sql(SAVEPOINT a)
        n SQLCODE
        &sql(%INTRANSACTION)
        w "Savepoint %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL,!
        &sql(ROLLBACK TO SAVEPOINT a)
        n SQLCODE
        &sql(%INTRANSACTION)
        w "Rollback to Savepoint %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL,!
        &sql(COMMIT)
        n SQLCODE
        &sql(%INTRANSACTION)
        w "After Commit %INTRANS SQLCODE=",SQLCODE," TL=",$TLEVEL
    }
    

    相关文章

      网友评论

          本文标题:第五十八章 SQL命令 %INTRANSACTION

          本文链接:https://www.haomeiwen.com/subject/ujnmaltx.html