前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL命令 %INTRANSACTION

SQL命令 %INTRANSACTION

作者头像
用户7741497
发布2022-05-06 11:12:49
2900
发布2022-05-06 11:12:49
举报
文章被收录于专栏:hml_知识记录

显示事务状态。

大纲

代码语言:javascript
复制
%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

代码语言:javascript
复制
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
}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大纲
    • 参数
    • 描述
    • 示例
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档