FirebirdSQL logo
 Autres articlesMots réservés et mots-clés 

L’annexe comprend :

Note
Exceptions personnalisées

Il existe une syntaxe simple dans la DDL de Firebird pour créer des exceptions personnalisées à utiliser dans PSQL, avec des textes de message de 1021 caractères maximum. Voir CREATE EXCEPTION du chapitre DDL pour plus de détails sur l’utilisation des exceptions personnalisées. EXCEPTION du chapitre PSQL.

Dans la plupart des cas, les codes d’erreur SQLCODE ne sont pas en corrélation avec les codes SQLSTATE. Les codes d’erreur SQLSTATE correspondent au standard SQL. En même temps, SQLCODE a été utilisé pendant de nombreuses années et est maintenant considéré comme obsolète. Dans les futures versions, le support de SQLCODE peut cesser complètement.

Codes d’erreur SQLSTATE et leurs descriptions

Ce chapitre fournit les codes d’erreur pour la variable de contexte SQLSTATE et leurs descriptions. Les codes d’erreur de SQLSTATE sont construits comme suit : un code d’erreur de cinq caractères se compose d’une classe d’erreur SQL (2 caractères) et d’une sous-classe SQL (3 caractères).

Table 1. Codes d’erreur SQLSTATE
SQLSTATE Message connexe Note

SQLCLASS 00 (Success)

0

Success

Succès

SQLCLASS 01 (Warning)

Classe 01 (avertissements)

01000

General Warning

Avertissement général

01001

Cursor operation conflict

Conflit pendant une opération de curseur

01002

Disconnect error

Erreur liée à la déconnexion

01003

NULL value eliminated in set function

La valeur NULL est éliminée dans la définition de la fonction

01004

String data, right-truncated

Données de la chaîne, recadrées à droite

01005

Insufficient item descriptor areas

Nombre insuffisant d’éléments dans la zone du descripteur

01006

Privilege not revoked

Privilèges non retirés

01007

Privilege not granted

Privilèges non délivrés

01008

Implicit zero-bit padding

Coupe implicitement le bit zéro

01100

Statement reset to unprepared

Réinitialisation de l’opérateur au statut non préparé

01101

Ongoing transaction has been committed

La transaction actuelle est terminée COMMIT

01102

Ongoing transaction has been rolled back

Transaction en cours terminée ROLLED BACK

SQLCLASS 02 (No Data)

Classe d’erreur 02 (Pas de données)

02000

No data found or no rows affected

Aucune donnée détectée ou rangée affectée

SQLCLASS 07 (Dynamic SQL error)

Classe d’erreur 07 (erreurs DSQL)

07000

Dynamic SQL error

Erreur DSQL

07001

Wrong number of input parameters

Nombre incorrect de paramètres d’entrée

07002

Wrong number of output parameters

Nombre incorrect de paramètres de sortie

07003

Cursor specification cannot be executed

La définition du curseur ne peut pas être effectuée

07004

USING clause required for dynamic parameters

Une phrase USING est nécessaire pour un paramètre dynamique.

07005

Prepared statement not a cursor-specification

Un opérateur formé n’est pas spécifique à un curseur.

07006

Restricted data type attribute violation

Exception due à un type de données interdit pour l’attribut

07007

USING clause required for result fields

Une phrase USING est requise pour le champ de retour.

07008

Invalid descriptor count

Compteur de descripteurs invalide

07009

Invalid descriptor index

Index de descripteur incorrect

SQLCLASS 08 (Connection Exception)

Classe d’erreur 08 (exceptions de connectivité)

08001

Client unable to establish connection

Le client est incapable d’établir une connexion

08002

Connection name in use

Le nom de la connexion est déjà utilisé

08003

Connection does not exist

La connexion n’existe pas

08004

Server rejected the connection

Le serveur a rejeté la connexion

08006

Connection failure

Erreur de connexion

08007

Transaction resolution unknown

Résolution de transaction inconnue

SQLCLASS 0A (Feature Not Supported)

Classe d’erreur 0A (capacité non supportée)

0A000

Feature Not Supported

Possibilité (conception) non soutenue

SQLCLASS 0B (Invalid Transaction Initiation)

Classe d’erreur 0B (initialisation incorrecte de la transaction)

0B000

Invalid transaction initiation

Initialisation incorrecte de la transaction

SQLCLASS 0L (Invalid Grantor)

Cédant non valide

0L000

Invalid grantor

Cédant non valide

SQLCLASS 0P (Invalid Role Specification)

Classe d’erreur 0P (spécification de rôle incorrecte)

0P000

Invalid role specification

Spécification incorrecte du rôle

SQLCLASS 0U (Attempt to Assign to Non-Updatable Column)

Classe d’erreur 0U (Tentative d’affectation à une colonne non modifiable)

0U000

Attempt to assign to non-updatable column

Tentative d’affectation à une colonne non modifiable

SQLCLASS 0V (Attempt to Assign to Ordering Column)

Classe d’erreur 0V (tentative d’affectation d’une colonne triable)

0V000

Attempt to assign to Ordering column

Tentative d’affectation d’une colonne triable

SQLCLASS 20 (Case Not Found For Case Statement)

Classe 20 (aucune option pour la clause CASE n’a été trouvée)

20000

Case not found for case statement

aucune option pour la clause CASE n’a été trouvée

SQLCLASS 21 (Cardinality Violation)

Classe 21 (Violation de la cardinalité)

21000

Cardinality violation

Violation de la cardinalité

21S01

Insert value list does not match column list

La liste des valeurs insérées ne correspond pas à la liste des colonnes

21S02

Degree of derived table does not match column list

L’état de la table dérivé ne correspond pas à la liste des colonnes

SQLCLASS 22 (Data Exception)

Classe d’erreur 22 (les exceptions causées par les données)

22000

Data exception

Exceptions de données

22001

String data, right truncation

Données de charactère, tronquées à droite

22002

Null value, no indicator parameter

Valeur NULL, le paramètre n’est pas marqué

22003

Numeric value out of range

La valeur numérique a dépassé la limite

22004

Null value not allowed

La valeur NULL n’est pas autorisée

22005

Error in assignment

Erreur d’affectation

22006

Null value in field reference

Valeur NULL dans le champ de référence

22007

Invalid datetime format

Format de date/heure incorrect

22008

Datetime field overflow

Débordement dans le champ date/heure

22009

Invalid time zone displacement value

Fuseau horaire incorrect, valeur erronée

2200A

Null value in reference target

Valeur NULL dans la référence cible

2200B

Escape character conflict

Conflit de symboles de contrôle

2200C

Invalid use of escape character

Utilisation incorrecte du caractère de contrôle

2200D

Invalid escape octet

Mauvais octet pour le caractère de contrôle

2200E

Null value in array target

Valeur NULL dans le tableau de destination

2200F

Zero-length character string

Longueur de la chaîne de caractères zéro

2200G

Most specific type mismatch

Mauvaise concordance de type spécifiée

22010

Invalid indicator parameter value

Valeur invalide du paramètre

22011

Substring error

Erreur de sous-chaîne

22012

Division by zero

Division par zéro

22014

Invalid update value

Valeur incorrecte dans l’opération de mise à jour

22015

Interval field overflow

Débordement d’espace dans le champ

22018

Invalid character value for cast

Symbole incorrect pour la conversion de type

22019

Invalid escape character

Symbole de contrôle incorrect

2201B

Invalid regular expression

Expression régulière incorrecte

2201C

Null row not permitted in table

Les entrées contenant NULL ne sont pas autorisées pour la table

22020

Invalid limit value

Valeur limite incorrecte

22021

Character not in repertoire

Caractère ne faisant pas partie du répertoire

22022

Indicator overflow

Débordement de l’indicateur

22023

Invalid parameter value

Valeur de paramètre incorrecte

22024

Character string not properly terminated

La chaîne de caractères a un caractère de fermeture incorrect

22025

Invalid escape sequence

Séquence de commande incorrecte

22026

String data, length mismatch

Données de type chaîne, longueur incorrecte

22027

Trim error

Erreur d’opération TRIM

22028

Row already exists

Une chaîne existe déjà

2202D

Null instance used in mutator function

L’instance NULL est utilisée pour la fonction mutable

2202E

Array element error

Erreur d’élément de tableau

2202F

Array data, right truncation

Données du tableau, coupées à droite

SQLCLASS 23 (Integrity Constraint Violation)

Classe d’erreur 23 (Violation de la contrainte d’intégrité)

23000

Integrity constraint violation

Violation de la contrainte d’intégrité

SQLCLASS 24 (Invalid Cursor State)

Classe d’erreur 24 (mauvais état du curseur)

24000

Invalid cursor state

Statut incorrect du curseur

24504

The cursor identified in the UPDATE, DELETE, SET, or GETstatement is not positioned on a row

Le curseur défini pour l’opération UPDATE, DELETE, SET ou GET n’est pas positionné sur la ligne

SQLCLASS 25 (Invalid Transaction State)

Classe d’erreur 25 (statut incorrect de la transaction)

25000

Invalid transaction state

Statut de transaction non valide

25S01

Transaction state

Statut de transaction

25S02

Transaction is still active

La transaction est toujours active

25S03

Transaction is rolled back

La transaction est annulé

SQLCLASS 26 (Invalid SQL Statement Name)

Classe d’erreur 26 (Nom de déclaration SQL incorrect)

26000

Invalid SQL statement name

Nom de déclaration SQL incorrect

SQLCLASS 27 (Triggered Data Change Violation)

Classe d’erreur 27 (erreurs de changement de données par le déclencheur)

27000

Triggered data change violation

Erreurs de modification des données par déclenchement

SQLCLASS 28 (Invalid Authorization Specification)

Classe d’erreur 28 (spécification d’autorisation erronée)

28000

Invalid authorization specification

spécification d’autorisation erronée

SQLCLASS 2B (Dependent Privilege Descriptors Still Exist)

Classe d’erreur 2B (Les descripteurs de privilèges dépendants existent toujours.)

2B000

Dependent privilege descriptors still exist

Les descripteurs de privilèges dépendants existent toujours.

SQLCLASS 2C (Invalid Character Set Name)

Classe d’erreur 2С (nom de jeu de caractères erroné)

2C000

Invalid character set name

Nom de jeu de caractères incorrect

SQLCLASS 2D (Invalid Transaction Termination)

Classe d’erreur 2D (fin de transaction incorrecte)

2D000

Invalid transaction termination

fin de transaction incorrecte

SQLCLASS 2E (Invalid Connection Name)

Classe d’erreur 2E (nom de connexion erroné)

2E000

Invalid connection name

Nom de connexion erroné

SQLCLASS 2F (SQL Routine Exception)

Classe d’erreur 2F (Exceptions procédurales SQL)

2F000

SQL routine exception

Exception SQL procédurale

2F002

Modifying SQL-data not permitted

Pas d’accès pour modifier les données SQL

2F003

Prohibited SQL-statement attempted

Une clause SQL interdite a été rencontrée

2F004

Reading SQL-data not permitted

Pas d’accès à la lecture des données SQL

2F005

Function executed no return statement

La fonction à exécuter n’a pas d’expression de retour

SQLCLASS 33 (Invalid SQL Descriptor Name)

Classe d’erreur 33 (Nom de description SQL incorrect)

33000

Invalid SQL descriptor name

Nom de description SQL incorrect

SQLCLASS 34 (Invalid Cursor Name)

Classe d’erreur 34 (mauvais nom de curseur)

34000

Invalid cursor name

mauvais nom de curseur

SQLCLASS 35 (Invalid Condition Number)

Classe d’erreur 35 (numéro de condition erroné)

35000

Invalid condition number

numéro de condition erroné

SQLCLASS 36 (Cursor Sensitivity Exception)

Classe d’erreur 36 (erreur de perception du curseur)

36001

Request rejected

Demande rejetée

36002

Request failed

La demande est erronée

SQLCLASS 37 (Invalid Identifier)

Classe d’erreur 37 (mauvais identifiant)

37000

Invalid identifier

mauvais identifiant

37001

Identifier too long

L’identifiant est trop long

SQLCLASS 38 (External Routine Exception)

Classe d’erreur 38 (erreurs dans les procédures externes)

38000

External routine exception

erreurs dans les procédures externes

SQLCLASS 39 (External Routine Invocation Exception)

Classe d’erreur 39 (Erreur d’appel de procédure externe)

39000

External routine invocation exception

Erreur d’appel de procédure externe

SQLCLASS 3B (Invalid Save Point)

Classe d’erreur 3B (mauvais point de sauvegarde)

3B000

Invalid save point

mauvais point de sauvegarde

SQLCLASS 3C (Ambiguous Cursor Name)

Classe d’erreur 3C (le nom du curseur est ambigu)

3C000

Ambiguous cursor name

Le nom du curseur est ambigu

SQLCLASS 3D (Invalid Catalog Name)

Classe d’erreur 3D (nom de catalogue incorrect)

3D000

Invalid catalog name

nom de catalogue incorrect

3D001

Catalog name not found

Aucun catalogue portant ce nom n’a été trouvé

SQLCLASS 3F (Invalid Schema Name)

Classe d’erreur 3F (Nom de schéma invalide)

3F000

Invalid schema name

Nom de schéma invalide

SQLCLASS 40 (Transaction Rollback)

Classe d’erreur 40 (retour en arrière de la transaction)

40000

Ongoing transaction has been rolled back

La transaction en cours a été annulée

40001

Serialization failure

Échec de la sérialisation

40002

Transaction integrity constraint violation

Violation de la condition d’intégrité de la transaction

40003

Statement completion unknown

Statut d’achèvement inconnu de la transaction

SQLCLASS 42 (Syntax Error or Access Violation)

Classe d’erreur 42 (erreur de syntaxe ou erreur d’accès)

42000

Syntax error or access violation

Erreur de syntaxe ou d’accès

42702

Ambiguous column reference

Référence de colonne ambiguë

42725

Ambiguous function reference

Référence ambiguë à une fonction

42818

The operands of an operator or function are not compatible

Les opérandes des opérateurs ou des fonctions ne sont pas compatibles

42S01

Base table or view already exists

Une table dans la base de données ou une vue existe déjà

42S02

Base table or view not found

Table dans la base de données ou vue non trouvée

42S11

Index already exists

L’index existe déjà

42S12

Index not found

Index non trouvé

42S21

Column already exists

La colonne existe déjà

42S22

Column not found

Colonne non trouvée

SQLCLASS 44 (With Check Option Violation)

Classe d’erreur 44 (violation de l’option AVEC CHECK)

44000

WITH CHECK OPTION Violation

violation de l’option AVEC CHECK

SQLCLASS 45 (Unhandled User-defined Exception)

Classe d’erreur 45 (exception définie par l’utilisateur non gérée)

45000

Unhandled user-defined exception

Exception non gérée définie par l’utilisateur

SQLCLASS 54 (Program Limit Exceeded)

Classe d’erreur 54 (les limites du programme sont dépassées)

54000

Program limit exceeded

Dépassement des limites du programme

54001

Statement too complex

L’expression est trop complexe

54011

Too many columns

Trop de colonnes

54023

Too many arguments

Trop d’arguments

SQLCLASS HY (CLI-specific Condition)

Classe d’erreur HY (Conditions spécifiques à l’interface CLI)

HY000

CLI-specific condition

Conditions spécifiques à l’interface CLI

HY001

Memory allocation error

Erreur d’allocation de mémoire

HY003

Invalid data type in application descriptor

Type de données erroné dans le descripteur d’application

HY004

Invalid data type

Type de données incorrect

HY007

Associated statement is not prepared

L’opérateur lié n’est pas préparé

HY008

Operation canceled

L’opération a été annulée

HY009

Invalid use of null pointer

Utilisation incorrecte d’un pointeur nul

HY010

Function sequence error

Erreur de séquence de fonctions

HY011

Attribute cannot be set now

L’attribut ne peut pas être défini maintenant

HY012

Invalid transaction operation code

Code de transaction erroné

HY013

Memory management error

Erreur de gestion de la mémoire

HY014

Limit on the number of handles exceeded

La limite du nombre de handles est atteinte

HY015

No cursor name available

Curseur non disponible sans nom

HY016

Cannot modify an implementation row descriptor

Impossible de modifier l’implémentation du descripteur de chaîne

HY017

Invalid use of an automatically allocated descriptorhandle

Utilisation incorrecte du descripteur de pointeur alloué automatiquement

HY018

Server declined the cancellation request

Le serveur a rejeté la demande d’annulation

HY019

Non-string data cannot be sent in pieces

Les données qui ne sont pas des chaînes ne peuvent pas être envoyées par morceaux.

HY020

Attempt to concatenate a null value

Tentative de concaténation d’une valeur NULL

HY021

Inconsistent descriptor information

Informations contradictoires sur le descripteur

HY024

Invalid attribute value

Valeur d’attribut non valide

HY055

Non-string data cannot be used with string routine

Les données qui ne sont pas des chaînes de caractères ne peuvent pas être utilisées avec une procédure de chaîne de caractères.

HY090

Invalid string length or buffer length

Longueur de ligne ou longueur de tampon incorrecte

HY091

Invalid descriptor field identifier

Descripteur d’identifiant de champ invalide

HY092

Invalid attribute identifier

Identificateur d’attribut incorrect

HY095

Invalid FunctionId specified

ID de fonction incorrecte

HY096

Invalid information type

Mauvais type d’information

HY097

Column type out of range

Type de colonne hors limites

HY098

Scope out of range

Définition hors limites

HY099

Nullable type out of range

Types avec NULL autorisé hors de la plage

HY100

Uniqueness option type out of range

Type d’option "unicité" hors limites

HY101

Accuracy option type out of range

Type d’option "précision" hors de la plage

HY103

Invalid retrieval code

Code de recherche erroné

HY104

Invalid LengthPrecision value

Valeur de longueur/précision incorrecte

HY105

Invalid parameter type

Type de paramètre incorrect

HY106

Invalid fetch orientation

Mauvaise direction pour la recherche

HY107

Row value out of range

Valeur de la chaîne hors de la plage

HY109

Invalid cursor position

Position incorrecte du curseur

HY110

Invalid driver completion

Code de terminaison du driver incorrect

HY111

Invalid bookmark value

Valeur incorrecte du signet

HYC00

Optional feature not implemented

Fonction facultative non mise en œuvre

HYT00

Timeout expired

Le temps est écoulé

HYT01

Connection timeout expired

Un délai de connexion a expiré

SQLCLASS XX (Internal Error)

SQLCLASS XX (erreurs internes)

XX000

Internal error

Erreur interne

XX001

Data corrupted

Données cassées

XX002

Index corrupted

L’index est cassé