[
{"sqlstate":"00000","classe":"00","libelle":"Succès","sgbd":"Standard","description":"Opération réussie sans condition"},
{"sqlstate":"01000","classe":"01","libelle":"Avertissement général","sgbd":"Standard","description":"Avertissement non fatal"},
{"sqlstate":"01004","classe":"01","libelle":"Données tronquées","sgbd":"Standard","description":"Les données ont été tronquées lors de la conversion"},
{"sqlstate":"02000","classe":"02","libelle":"Aucune donnée","sgbd":"Standard","description":"La requête n'a retourné aucune ligne"},
{"sqlstate":"07000","classe":"07","libelle":"Erreur SQL dynamique","sgbd":"Standard","description":"Erreur dans du SQL dynamique"},
{"sqlstate":"08000","classe":"08","libelle":"Connexion impossible","sgbd":"Standard","description":"Échec de la connexion à la source de données"},
{"sqlstate":"08001","classe":"08","libelle":"Client incapable d'établir une connexion","sgbd":"Standard","description":"Le client ne peut pas se connecter"},
{"sqlstate":"08006","classe":"08","libelle":"Échec de connexion","sgbd":"PostgreSQL","description":"Connexion perdue pendant la communication"},
{"sqlstate":"0A000","classe":"0A","libelle":"Fonctionnalité non supportée","sgbd":"Standard","description":"La fonctionnalité demandée n'est pas implémentée"},
{"sqlstate":"21000","classe":"21","libelle":"Violation de cardinalité","sgbd":"Standard","description":"Sous-requête retourne plusieurs lignes là où une seule est attendue"},
{"sqlstate":"22000","classe":"22","libelle":"Erreur de données","sgbd":"Standard","description":"Erreur liée aux données"},
{"sqlstate":"22001","classe":"22","libelle":"Chaîne trop longue","sgbd":"Standard","description":"La valeur est trop longue pour la colonne"},
{"sqlstate":"22003","classe":"22","libelle":"Dépassement de valeur numérique","sgbd":"Standard","description":"Valeur numérique hors des limites du type"},
{"sqlstate":"22007","classe":"22","libelle":"Format de date/heure invalide","sgbd":"Standard","description":"La chaîne ne peut pas être convertie en date ou heure"},
{"sqlstate":"22008","classe":"22","libelle":"Dépassement de champ datetime","sgbd":"Standard","description":"Valeur de date hors des limites"},
{"sqlstate":"22012","classe":"22","libelle":"Division par zéro","sgbd":"Standard","description":"Division par zéro détectée"},
{"sqlstate":"22P02","classe":"22","libelle":"Syntaxe invalide pour un entier","sgbd":"PostgreSQL","description":"La chaîne n'est pas un entier valide"},
{"sqlstate":"23000","classe":"23","libelle":"Violation de contrainte d'intégrité","sgbd":"Standard","description":"Une contrainte d'intégrité a été violée"},
{"sqlstate":"23502","classe":"23","libelle":"Violation NOT NULL","sgbd":"PostgreSQL","description":"Insertion d'une valeur nulle dans une colonne NOT NULL"},
{"sqlstate":"23503","classe":"23","libelle":"Violation de clé étrangère","sgbd":"PostgreSQL","description":"La valeur viole la contrainte de clé étrangère"},
{"sqlstate":"23505","classe":"23","libelle":"Violation de contrainte unique","sgbd":"PostgreSQL","description":"Duplication d'une clé unique ou primaire"},
{"sqlstate":"25000","classe":"25","libelle":"État de transaction invalide","sgbd":"Standard","description":"Opération invalide dans le contexte de transaction actuel"},
{"sqlstate":"25P01","classe":"25","libelle":"Aucune transaction active","sgbd":"PostgreSQL","description":"Aucune transaction en cours"},
{"sqlstate":"28000","classe":"28","libelle":"Spécification d'autorisation invalide","sgbd":"Standard","description":"Authentification refusée"},
{"sqlstate":"28P01","classe":"28","libelle":"Mot de passe incorrect","sgbd":"PostgreSQL","description":"Authentification par mot de passe échouée"},
{"sqlstate":"40000","classe":"40","libelle":"Annulation de transaction","sgbd":"Standard","description":"La transaction a été annulée (rollback)"},
{"sqlstate":"40001","classe":"40","libelle":"Échec de sérialisation","sgbd":"Standard","description":"Deadlock ou conflit de sérialisation"},
{"sqlstate":"40P01","classe":"40","libelle":"Deadlock détecté","sgbd":"PostgreSQL","description":"Interblocage détecté et résolu par rollback"},
{"sqlstate":"42000","classe":"42","libelle":"Erreur de syntaxe ou violation d'accès","sgbd":"Standard","description":"Erreur de syntaxe SQL ou droits insuffisants"},
{"sqlstate":"42501","classe":"42","libelle":"Droits insuffisants","sgbd":"PostgreSQL","description":"L'utilisateur n'a pas les droits nécessaires"},
{"sqlstate":"42601","classe":"42","libelle":"Erreur de syntaxe","sgbd":"PostgreSQL","description":"Erreur de syntaxe dans la requête SQL"},
{"sqlstate":"42702","classe":"42","libelle":"Colonne ambiguë","sgbd":"PostgreSQL","description":"Référence ambiguë à une colonne"},
{"sqlstate":"42703","classe":"42","libelle":"Colonne inexistante","sgbd":"PostgreSQL","description":"La colonne référencée n'existe pas"},
{"sqlstate":"42704","classe":"42","libelle":"Objet inexistant","sgbd":"PostgreSQL","description":"L'objet référencé (table, vue…) n'existe pas"},
{"sqlstate":"42P01","classe":"42","libelle":"Table inexistante","sgbd":"PostgreSQL","description":"La table référencée n'existe pas"},
{"sqlstate":"53100","classe":"53","libelle":"Disque plein","sgbd":"PostgreSQL","description":"Espace disque insuffisant"},
{"sqlstate":"53200","classe":"53","libelle":"Mémoire insuffisante","sgbd":"PostgreSQL","description":"Mémoire insuffisante pour l'opération"},
{"sqlstate":"55P03","classe":"55","libelle":"Verrou non disponible","sgbd":"PostgreSQL","description":"Impossible d'acquérir le verrou immédiatement"},
{"sqlstate":"57014","classe":"57","libelle":"Requête annulée","sgbd":"PostgreSQL","description":"La requête a été annulée (statement_timeout ou pg_cancel_backend)"},
{"sqlstate":"58000","classe":"58","libelle":"Erreur système IO","sgbd":"PostgreSQL","description":"Erreur d'entrée/sortie sur le système de fichiers"}
]