106
CHAPITRE 4. LANGAGE SQL
4.11.6 Gestion des erreurs
Configurer des rappels : instruction WHENEVER
L’instruction WHENEVER est une méthode simple pour intercepter les erreurs, les avertissements et
les conditions exceptionnelles rencontrés par la base de données lors du traitement d’instructions SQL.
Elle consiste à configurer une action spécifique à exécuter à chaque fois qu’une condition particulière
survient. Cette opération s’effectue de la manière suivante :
EXEC SQL WHENEVER condition action;
Le paramètre condition peut prendre une des valeurs suivantes :
SQLERROR : L’action spécifiée est appelée lorsqu’une erreur survient pendant l’exécution d’une instruc-
tion SQL.
SQLWARNING : L’action spécifiée est appelée lorsqu’un avertissement survient pendant l’exécution d’une
instruction SQL.
NOT FOUND : L’action spécifiée est appelée lorsqu’une instruction ne récupère ou n’affecte aucune ligne.
Le paramètre action peut avoir une des valeurs suivantes :
CONTINUE : Signifie effectivement que la condition est ignorée. C’est l’action par défaut.
SQLPRINT : Affiche un message sur la sortie standard. Ceci est utile pour des programmes simples ou
lors d’un prototypage. Les détails du message ne peuvent pas être configurés.
STOP : Appel de exit(1), ce qui terminera le programme.
BREAK : Exécute l’instruction C break. Cette action est utile dans des boucles ou dans des instructions
switch.
GOTO label et GO TO label : Saute au label spécifié (en utilisant une instruction C goto).
CALL nom (args) et DO nom (args) : Appelle les fonctions C spécifiées avec les arguments spécifiés.
Le standard SQL ne définit que les actions CONTINUE et GOTO ou GO TO.
L’instruction WHENEVER peut être insérée en un endroit quelconque d’un programme SQL embarqué.
Cette instruction indique au préprocesseur de générer du code après chaque instruction SQL. L’effet
de cette instruction reste actif pour toutes les instructions en SQL embarqué situées entre la ligne
de l’instruction WHENEVER et l’instruction WHENEVER suivante contenant la même conditio