Service SQL IBM i (AS/400) · Table
QSYS2.SQLSTATE_INFO
Signification des codes SQLSTATE
Table de référence qui décrit chaque valeur de SQLSTATE avec son code SQLCODE associé et un texte explicatif.
À quoi ça sert
SQLSTATE_INFO relie une valeur de SQLSTATE à ses SQLCODE_VALUE possibles et à un texte d'explication (SQLSTATE_DETAIL).
Quand une application remonte seulement un SQLSTATE, comme 42704 (nom non défini), on interroge cette table pour obtenir la signification et les codes SQL correspondants, sans chercher dans la documentation.
On peut aussi la joindre à SQL_ERROR_LOG pour enrichir un rapport d'erreurs avec le libellé de chaque SQLSTATE.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM QSYS2.SQLSTATE_INFO WHERE SQLSTATE_VALUE = '42704'
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| SQLSTATE_VALUE Valeur du SQLSTATE | SQLCODE_VALUE Valeur du SQLCODE | SQLSTATE_DETAIL Détail du SQLSTATE |
|---|---|---|
| 42704 | -204 | An undefined object or constraint name was detected. |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Obtenir les informations sur le SQLSTATE 42704.
-- Description: Return information about SQLSTATE 42704.
SELECT * FROM QSYS2.SQLSTATE_INFO WHERE SQLSTATE_VALUE = '42704';
Colonnes renvoyées (3)
Afficher les 3 colonnes
| Colonne | Type | Signification |
|---|---|---|
SQLSTATE_VALUE |
CHAR(5) | Valeur du SQLSTATE |
SQLCODE_VALUE |
INTEGER | Valeur du SQLCODE |
SQLSTATE_DETAIL |
VARCHAR(1000) | Détail du SQLSTATE |