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命令可以也用在存储过程外部,但主要用于存储过程内容。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。