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. 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 :