NOT FOUND 关键字

如果使用 NOT FOUND 关键字,则 SELECT 和 FETCH 语句(包括 FOREACH 和 UNLOAD 语句中的隐式的 SELECT 和 FETCH 语句)的异常处理将以不同于其他 SQL 语句的方式进行。NOT FOUND 关键字检查下列情况:
  • End of Data 条件:尝试获取活动集中第一行或最后一行之外的行的 FETCH 语句
  • Not Found 条件:不返回行的 SELECT 语句

在每一情况下,sqlcode 变量设置为 100且 SQLSTATE 变量有类代码 02。要了解在每一 GBase 8s 产品中 sqlcode 变量的名称,请参阅 SQLERROR 关键字 中的表。

在每一次存在 NOT FOUND 条件时,下列语句调用 no_rows( ) 函数:
WHENEVER NOT FOUND CALL no_rows

如果您在程序中不使用任何 WHENEVER NOT FOUND 语句,则 WHENEVER NOT FOUND 的缺省的活动是 CONTINUE。