与 Select 和 Function 游标相关的错误

由于数据库服务器首次看到该查询,它可能检测错误。在这种情况下,它不实际地返回数据的第一行,但它重置 SQLCODE 变量和 sqlcasqlca.sqlcode 字段。该值或为负数或为零,如下表所示。

代码值
含义
负数
在 SELECT 语句中检测到错误
SELECT 语句有效

与 ESQL/C 例程不同,SPL 例程没有对 sqlca 结构的直接访问。ESQL/C 例程必须显式地调用内建的 SQLCODE 函数来访问与 OPEN 引用的游标相关联的 SELECT、EXECUTE FUNCTION 或 EXECUTE PROCEDURE 语句的返回代码。

如果 SELECT、SELECT…FOR UPDATE、EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句有效,但没有与其条件相匹配的行,则第一个 FETCH 返回值 100SQLNOTFOUND),表示未找到行。
提示: 当您遇到 SQLCODE 错误时,还存在相应的 SQLSTATE 错误值。要了解关于如何查看消息文本的信息,请参考 使用 SQLSTATE 错误状态代码