Avec SPL, il faut toujours coder un ou plusieurs gestionnaires de conditions pour intercepter et gérer les exceptions et/ou les avertissements survenant à l'exécution. (Pour une explication plus approfondie sur la gestion des exceptions SQL, voir « A l'intérieur du traitement des erreurs de SPL V5R2 : Partie 1: Principes
Conseil 6 : Utiliser des instructions composites imbriquées avec des gestionnaires
de base »,
juillet-août 2003, et « A l’intérieur du
traitement des erreurs de SPL V5R2 :
Partie 2: Coder une procédure stockée
blindée », octobre 2003 ou www.itpro.
fr ) Pour certains SP, UDF ou triggers,
il n’y aura parfois qu’un petit
nombre d’instructions et on n’aura besoin
que d’un ou deux gestionnaires
de conditions. Dans de tels cas, on
peut coder le SPL comme une instruction
composite unique (c’est-à -dire
que toutes les déclarations et instructions
exécutables sont codées entre
une seule paire Begin/End).
Mais, pour des situations plus complexes,
on aura besoin de gestionnaires
de conditions multiples, y compris
ceux qui ne concernent qu’une
seule instruction, comme Open.
Pendant l’exécution normale (c’est-à dire,
sans aucune exception ou avertissement),
tous les gestionnaires de
conditions codés au niveau extérieur
(c’est-à -dire, principal) sont testés
pour chaque instruction exécutée. Un
tel comportement peut ralentir les
SP, les UDF ou les triggers qui ont
beaucoup d’instructions et un nombre
appréciable de gestionnaires de
conditions.
On pourra alors utiliser des instructions composites imbriquées, comme dans le fragment
de code de la figure 1. Dans cet exemple, un gestionnaire
d’exceptions « générique » est déclaré dans le bloc extérieur
(en A) pour intercepter toute exception non traitée
par un autre gestionnaire d’exceptions. Mais le gestionnaire
d’exceptions pour la condition SqlState ‘42704’ (objet indéfini)
est placé dans un bloc imbriqué en même temps que
l’instruction Update pour laquelle la condition est testée
(en B).
Pour l’exécution normale de l’instruction Update, les
deux conditions seront testées. Mais, pour les instructions situées
hors de BlockX, le gestionnaire de conditions pour
SqlState ‘42704’ ne sera pas testé. Ce mode d’utilisation des
blocs imbriqués présente deux avantages : il est plus efficace
et il organise mieux le code SPL.
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté numérique : les décideurs publics veulent prioriser les modèles d’IA souverains
- Dans l’œil du cyber-cyclone : l’excès d’optimisme constitue le risque principal pour la résilience des données
- Les 3 prédictions 2026 pour Java
- Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
