Analysons le reste de la procédure cataloguée GetTopBook présentée dans la figure 1 pour comprendre comment ces étapes sont mises en oeuvre en SPL (Stored Procedure Language) SQL. La mise en oeuvre consiste en une instruction Create Procedure possédant deux sections. La première section (A) spécifie le nom qualifié de
La procédure cataloguée GetTopBook
la procédure (AppDta.GetTopBook), ses
paramètres, et plusieurs autres attributs. (Pour plus de renseignements au
sujet des éléments de l’instruction Create Procedure, consultez l’article
"A l’intérieur d’une procédure cataloguée SQL"). La clause Result
Set définit le nombre maximal d’ensembles de résultats qu’une procédure
cataloguée peut renvoyer.
La deuxième section de l’instruction
Create Procedure définit le corps de la procédure et commence par une
instruction Begin (en B) et qui définit un bloc d’instructions SQL explicatives
et exécutables. Dans ce bloc, déclarez en premier des variables de travail mnémotechniques
(C), puis codez les déclarations concernant tous les curseurs que la procédure
utilise (D et E), suivies par les déclarations du handler (F). Il vaut mieux
toujours déclarer une variable SQLState. Celle-ci sera automatiquement renseignée
après exécution de chaque instruction SQL. (J’expliquerai les deux déclarations
du curseur dans un moment).
Après les déclarations, codez
d’autres déclarations SQL permettant d’accéder et de manipuler les données.
Dans "A l’intérieur d’une procédure cataloguée SQL", nous avions
couvert des techniques de gestion des exceptions importantes, aussi n’y
reviendrons-nous pas ici. Assurez-vous simplement de conserver toutes les
instructions SQL de manipulation des données, comme je l’ai fait dans la figure
1.
Le code exécutable de la procédure
GetTopBook démarre en initialisant le paramètre SQLStateOut (en G). Cette étape
garantit que l’appelant recevra une forme de message d’avertissement si une
erreur force la procédure à se terminer de façon inattendue. Au fur et à
mesure que le reste de la procédure est exécuté, SQLStateOut se voit affecter
soit la valeur SQLState correspondante si une des déclarations SQL subséquentes
échoue, soit 00000 si l’exécution de la procédure s’est achevée normalement.
La déclaration suivante, en H,
calcule la date du samedi précédent. Grâce aux fonctions intégrées de SQL
et aux autres fonctions de manipulation de dates, ce calcul est instantané. Dès
que l’instruction calcule la date désirée, les autres paramètres de la procédure
cataloguée sont placés à leurs valeurs initiales (en I).
Pour obtenir la catégorie d’un livre
donné, utilisez l’instruction Select simple de la section J. Si le numéro
d’identification du livre n’existe pas dans la table Book, la procédure se
termine sans renvoyer d’ensemble de résultats et renvoie un code (02000)
indiquant qu’aucun enregistrement n’a été trouvé. Au cas où il se produirait
un autre type d’erreur, la procédure se terminerait également de manière
similaire. Remarquez comment j’utilise l’instruction Set Result Sets None (en K)
pour sortir de la procédure sans ensemble de résultats après avoir détecté
une erreur. Le programme appelant devrait anticiper cette éventualité.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA et cybersécurité : les entreprises françaises acceptent plus de risques qu’elles ne savent les contrôler
- Infrastructures critiques : la France redoute les attaques dopées à l’IA, mais peine à unifier sa sécurité IT/OT
- Les Assises 2026 : encore plus d’énergie pour poursuivre le chemin
- Agents IA : arrêtons de leur confier nos secrets
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
