Errors Associated with Select and Function Cursors

Because the database server is seeing the query for the first time, it might detect errors. In this case, it does not actually return the first row of data, but it resets the SQLCODE variable and the sqlca.sqlcode field of the sqlca. The value is either negative or zero, as the following table describes.

Code Value
Significance
Negative
An error was detected in the SELECT statement
Zero
The SELECT statement is valid

Unlike ESQL/C routines, SPL routines do not have direct access to the sqlca structure. An ESQL/C routine must invoke the built-in SQLCODE function explicitly to access the return code of the SELECT, EXECUTE FUNCTION, or EXECUTE PROCEDURE statement associated with the cursor that OPEN references.

If the SELECT, SELECT...;FOR UPDATE, EXECUTE FUNCTION (or EXECUTE PROCEDURE) statement is valid, but no rows match its criteria, the first FETCH statement returns a value of 100 (SQLNOTFOUND), meaning that no rows were found.
Tip: When you encounter an SQLCODE error, a corresponding SQLSTATE error value also exists. For information about how to view the message text, refer to Using the SQLSTATE Error Status Code.