The first five characters of the sqlstate output character string have the format 'ccsss', where cc is the class and sss is the subclass. The last character of the string is a binary 0, or C string terminator. The following table shows useful valid settings that a UDF can return for the SQLSTATE result code.
| Category | Class | Condition | Subclass | Sub-condition |
|---|---|---|---|---|
| Success | 00 | No error. | 000 | None. |
| 02 | No data. | 000 | None. | |
| Warning | 01 | Warning. | H xx | External routine warning where you choose the value of xx. |
| Exception | 38 | External routine exception. | 000 | None. |
| 002 | Invalid return value for predicate. | |||
| 39 | External routine invocation exception. | 000 | None. | |
| 001 | Invalid SQLSTATE returned. This error indicates the function returns a bad SQLSTATE. | |||
| 002 | Null value not allowed. | |||
| 22 | Data exception. | 000 | None. | |
| 021 | Character not in repertoire. | |||
| 008 | Datetime field overflow. | |||
| 012 | Division by zero. | |||
| 005 | Error in assignment. | |||
| 022 | Indicator overflow. | |||
| 015 | Interval field overflow. | |||
| 018 | Invalid datetime format. | |||
| 019 | Invalid escape character. | |||
| 025 | Invalid escape sequence. | |||
| 010 | Invalid indicator parameter value. | |||
| 020 | Invalid limit value. | |||
| 023 | Invalid parameter value. | |||
| 002 | Null value, no indicator parameter. | |||
| 003 | Numeric value out of range. | |||
| 004 | Null value not allowed. | |||
| 026 | String data length mismatch. | |||
| 001 | String data, right truncation. | |||
| 027 | Trim error. | |||
| 024 | Unterminated C string. | |||
| 00F | Zero-length C string. | |||
| U0 | User-defined data exception. | xxx | User-defined exception where you choose the value of xxx. |