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
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Ready For IT 2026 : IA industrialisée, deepfakes et Prix Start-up au cœur des enjeux
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Ready For IT 2026 : quand l’accélération de l’innovation redessine les priorités des décideurs IT
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
