Un handler SPL est un ensemble d'instructions
qui s'exécutent quand une
condition se manifeste. La figure 3
montre un exemple de déclaration de
handler. Chaque handler comporte
trois éléments importants :
• Type de handler (Continue, Exit ou
Undo)
• Conditions du handler (une condition
générale ou une ou plusieurs
Handlers de SPL
conditions spécifiques)
• Actions du handler (le code exécutable dans le handler)
Plusieurs comportements importants
de SPL sont liés aux handlers. Les
handlers ne sont jamais appelés quand une instruction s’exécute avec succès
(c’est-à -dire que SqlState est à « 000
00 »).
Quand une instruction cause une
condition d’exception, s’il n’existe pas de handler correspondant, la routine
sort immédiatement et renvoie une exception
à l’appelant de la routine.
Donc, les handlers sont le seul mécanisme
SPL permettant d’intercepter
des exceptions. On ne peut pas détecter
une exception en faisant simplement
suivre une instruction (un
Update, par exemple) d’un test If appliqué
à SqlState, comme on le ferait
avec un SQL imbriqué dans un programme
HLL.
La situation avec les conditions
warning et not found se situe quelque
part entre l’exécution réussie et les exceptions.
S’il existe un handler correspondant
pour une condition warning
ou not found, il est exécuté. Sinon, la
condition warning ou not found est
ignorée. Si aucun handler n’est exécuté,
vous pouvez tester SqlState immédiatement
après une instruction,
pour déterminer l’état de bonne exécution
de l’instruction. (Mais il est préférable
de copier immédiatement
SqlState dans une variable de travail
puis de tester celle-ci).
Une fois exécuté, le handler réinitialise
toujours SqlState. Si vous voulez
travailler avec le SqlState d’une instruction
après l’exécution d’un handler, le
code de ce dernier doit copier SqlState
dans une variable de travail, comme le
montre l’exemple de la figure 3.
Un handler peut contenir la plupart
des types d’instructions SPL, y
compris les instructions composées
imbriquées. Toutefois, vous ne pouvez
pas utiliser GoTo ou Leave pour sortir
d’un handler. Une instruction composée
à l’intérieur d’un handler peut ellemême
contenir des handlers. Si un
handler contient du code pouvant
échouer (par exemple, une instruction
Insert pour journaliser des informations
d’erreur dans une table), vous
devez protéger ce code en définissant
le(s) handler(s) imbriqué(s) approprié(
s) dans ce handler.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cybersécurité française 2026 : explosion des startups, ralentissement des scale-ups et virage stratégique de l’IA
- Le Cercle de l’Innovation décerne le Prix de l’Innovation du Public 2026
- Avec l’IA agentique, la robustesse des SI redevient stratégique
- Les erreurs du secteur bancaire dans son approche IA
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
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
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- 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
