SQLCA中的SQLWARN3字段用于检测条件,其中结果列的数量大于在COBOL-DB2程序查询中给定的主机变量的数量。SQLWARN3是一个1字节的字段,当查询返回的列数与使用的主机变量数不匹配时,包含值“ W”。
我们可以使用IF或EVALUATE语句查询SQLWARN3的状态,如下例所示
A010-CHECK-ORDER. EXEC SQL SELECT ORDER_DATE, ORDER_TOTAL INTO :ORDER-DATE, FROM ORDERS WHERE ORDER_ID = :ORDER-ID END-EXEC EVALUATE SQLWARN3 WHEN ‘W’ DISPLAY ‘MISMATCH IN COLUMNS & HOST VARIABLES’ WHEN OTHER DISPLAY ‘QUERY EXECUTED SUCCESSFULLY’