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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




