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命令可以也用在存储过程外部,但主要用于存储过程内容。


GBase数据库
1 声望2 粉丝

GBase数据库知识分享