一个COBOL-DB2程序可以具有多个DB2 SQL语句。为了对COBOL-DB2程序中的所有SQL语句实现常见的错误捕获,我们将使用WHENEVER语句。
WHENEVER语句可以根据SQLCA的SQLCODE字段中返回的值将控件定向到错误处理部分或例程。例如,我们可以在COBOL-DB2程序中声明WHENEVER语句,如下所示:
EXEC SQL WHENEVER SQLERROR GOTO ERROR-ROUTINE END-EXEC
在上面的示例中,仅当SQLCODE的值小于零时才设置SQLERROR参数,这表明执行查询时发生了一些错误。在这种情况下,控件将被转移到程序的ERRORROUTINE段落。