SQL_ON_ERROR

Détermine la réaction à des erreurs SQL.

Syntaxe

SQL_ON_ERROR ACTION=...

Syntaxe

Description / format

ACTION=

Réaction à des erreurs SQL.

Valeurs autorisées : ABEND (valeur par défaut) et RESUME

ABEND : Interrompt le job avec le code retour 1 dès la première erreur SQL. Les instructions SQL suivantes ne sont pas traitées.
RESUME : Poursuit le job en présence d'erreurs SQL.

La valeur doit être entre guillemets simples.

RESUME est utilisé si ce paramètre n'est pas spécifié.

Par défaut, les jobs s'interrompent en présence d'une erreur SQL. Cet élément de script peut être utilisé pour traiter ce comportement.

La spécification faite avec SQL_ON_ERROR s'applique à toutes les instructions SQL suivantes jusqu'à la fin du job ou jusqu'à utilisation de l'instruction SQL_ON_ERROR suivante.

Notez que si le job s'interrompt, toutes les instructions SQL s'interrompent jusqu'au dernier COMMIT. Cela signifie que toutes les instructions SQL sont annulées si le job ne contient pas de COMMIT.

Exemples

La seconde instruction INSERT provoque une erreur car le nom de la table contient une erreur de frappe. Malgré cette erreur, l'agent poursuit le job et consigne les enregistrements de données pour M. Brown dans la base de données.

SQL_ON_ERROR ACTION="RESUME";
insert into person values (1,'Smith');
insert into person values (2,'Brown');
insert into person values (3,'Spencer');

Dans l'exemple suivant, l'agent interrompt le job car le nom de table est incorrect. À la suite du COMMIT, la saisie de données de M. Smith est conservée. Le job ayant été interrompu avec la seconde instruction INSERT, l'enregistrement de données pour M. Spencer n'est pas pris en compte, bien qu'il soit syntaxiquement correct.

SQL_ON_ERROR ACTION="ABEND";
insert into person values (1,'Smith');
COMMIT;
insert into person values (2,'Brown');
insert into person values (3,'Spencer');

Voir aussi :