设置回调
功能描述
当产生特定条件时,捕获错误和警告的一个简单方法是设置一个要执行的具体操作。该操作就是设置回调。
接口原型
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();