9.2.2 SQLCODE 字段
SQLCODE 字段是数据库服务器的主要返回代码。在每个 SQL 语句之后,将 SQLCODE
设置为如下表所示的一个整数值。当那个值为零时,无误地执行该语句。特别地,当假定
一个语句将数据返回到主变量内时,代码零意味着已返回了该数据且可使用它。任何非零
代码都意味着相反的意思。未将有用的数据返回到了主变量。
表 1. SQLCODE 的值
数据的结束
当正确地执行语句,但未找到行时,数据库服务器将 SQLCODE 设置为 100。在两种情况
下可发生此情况。
第一种情况涉及使用游标的查询。(检索多行 描述使用游标的查询。)在这些查询中,FETCH
语句将来自活动集的每一值检索到内存内。检索最后一行之后,后续的 FETCH 语句不可
返回任何数据。当发生此情况时,数据库服务器将 SQLCODE 设置为 100,指示数据的结
束,找不到行。
第二种情况涉及不使用游标的查询。在此情况下,当没有行满足查询条件时,数据库服务
器将 SQLCODE 设置为 100。在不符合 ANSI 的数据库中,仅不返回行的 SELECT 语句
会导致将 SQLCODE 设置为 100。
在符合 ANSI 的数据库中,如果未返回行,则 SELECT、DELETE、UPDATE 和 INSERT
语句都将 SQLCODE 设置为 100。
负代码
在语句期间,当发生意外错误时,数据库服务器在 SQLCODE 中返回一个负数值来说明该
问题。在联机错误消息文件中记录这些代码的含义。