VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

设置回调

功能描述

当产生特定条件时,捕获错误和警告的一个简单方法是设置一个要执行的具体操作。该操作就是设置回调。

接口原型

EXEC SQL WHENEVER condition action;

参数说明

参数名 参数说明
condition condition可以是下列之一:
SQLERROR:当在SQL语句执行期间发生错误时,调用指定操作。
SQLWARNING:当在SQL语句执行期间发生警告时,调用指定操作。
NOT FOUND:当SQL语句检索或者影响零行,则调用指定操作。
action action可以是下列之一:
GO TO label GO TO label:跳转到指定标签(使用C goto语句)。
SQLPRINT:输出消息到标准错误。这对于简单程度或者原型期间非常有用。 不能配置该消息的详细信息。
STOP:调用exit(1),这将终止程序。
DO BREAK:执行C语句break。这只有在循环中或者switch 语句中使用。
ECPGCALL name(args), DO name (args):调用具有指定参数的指定C函数。
CONTINUE:这实际上意味着该条件被忽略。这是缺省的。

返回值

其他

  • 语句EXEC SQL WHENEVER是SQL预处理器的指令。 而不是C语句。 错误或者警告操作设置处理器出现的地方中适用的所有嵌入SQL语句。 除非在第一个EXEC SQL WHENEVER和产生条件的SQL语句之间 为同一条件设置不同的操作,不管C程序中的控制流。

  • 举例说明使用接口:

    EXEC SQL WHENEVER SQLWARNING SQLPRINT;
    EXEC SQL WHENEVER sqlerror do sqlprint();
    EXEC SQL WHENEVER sqlerror do error();