暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a 存储过程内部如何获取DML操作响应行数或报错信息

VV_刺头王 2022-10-25
1267

 

  GBase 8a支持在存储过程、自定义函数中或直接在客户端通过命令获取报错信息或DML操作影响结果数。

  语法格式如下:

  •          获取错误数命令:GET DIAGNOSTICS @a=number;
  •          获取DML操作影响的行数: GET DIAGNOSTICS @a=row_count;  --非DML执行后获取该变量的值为-1
  •          获取错误号命令: GET DIAGNOSTICS CONDITION no @a=gbase_errno
  •          获取错误状态命令:GET DIAGNOSTICS CONDITION no @a=retruned_sqlstate;
  •          获取错误信息命令:GET DIAGNOSTICS CONDITION no @a=message_text;

        

   语法定义中number、row_count、gbase_errno、retured_sqlstate、message_text均为系统变量。

   no 表示错误或warnings序号;

   number中包含warning和错误数量;

   row_count只记录GET DIAGNOSTICS命令之前最后一条DML操作的影响行数,不累加。如果想获取多条DML语句的影响行数,需要在每条DML语句后面执行GET DIAGNOSTICS命令;

   gbase_errno记录错误号;

   retured_sqlstate记录错误状态;

   message_text记录错误信息。

   GET DIAGNOSTICS命令可以也用在存储过程外部,但主要用于存储过程内容。

  

  

 

        

        

�P*mbs

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论