The SQLCODE field is the primary return code of the database server. After every SQL statement, SQLCODE is set to an integer value as Table 6 shows. When that value is zero, the statement is performed without error. In particular, when a statement is supposed to return data into a host variable, a code of zero means that the data has been returned and can be used. Any nonzero code means the opposite. No useful data was returned to host variables.
Return value | Interpretation |
---|---|
value < 0 | Specifies an error code. |
value = 0 | Indicates success. |
0 < value < 100 | After a DESCRIBE statement, an integer value that represents the type of SQL statement that is described. |
100 | After a successful query that returns no rows, indicates the NOT FOUND condition. NOT FOUND can also occur in an ANSI-compliant database after an INSERT INTO/SELECT, UPDATE, DELETE, or SELECT... INTO TEMP statement fails to access any rows. |
The database server sets SQLCODE to 100 when the statement is performed correctly but no rows are found. This condition can occur in two situations.
The first situation involves a query that uses a cursor. (Retrieving Multiple Rows describes queries that use cursors.) In these queries, the FETCH statement retrieves each value from the active set into memory. After the last row is retrieved, a subsequent FETCH statement cannot return any data. When this condition occurs, the database server sets SQLCODE to 100, which indicates end of data, no rows found.
The second situation involves a query that does not use a cursor. In this case, the database server sets SQLCODE to 100 when no rows satisfy the query condition. In databases that are not ANSI compliant, only a SELECT statement that returns no rows causes SQLCODE to be set to 100.
In ANSI-compliant databases, SELECT, DELETE, UPDATE, and INSERT statements all set SQLCODE to 100 if no rows are returned.
When something unexpected goes wrong during a statement, the database server returns a negative number in SQLCODE to explain the problem. The meanings of these codes are documented in the online error message file.
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]