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
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Ransomware : l’IA accélère le vol de données et place les dirigeants dans le viseur
- La connectivité, nouvelle colonne vertébrale de l’expérience en magasin
- Assises de la Sécurité 2026 : osons remettre l’humain au centre et reprendre les commandes
- Réforme de la facturation électronique 2026 : de la contrainte réglementaire à un véritable enjeu différenciant
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
