Chaque procédure stockée aboutit à une sortie : valeur de renvoi, message d'erreur système, ou autre. La plupart des procédures effectuent aussi des opérations sur la base de données qui produisent d'autres genres de sorties. Principaux exemples : des procédures INSERT qui ajoutent des enregistrements de tables et des
Etape 1 : Définir les sorties attendues
procédures SELECT
qui génèrent des jeux de résultats.
Les procédures stockées peuvent
aussi engendrer des messages d’erreur
ou des codes d’état personnalisés,
renvoyer des valeurs, imprimer des
instructions, ou produire des paramètres.
La procédure de consultation,
usp_lookupPrice, que montre le listing
2, peut produire toutes ces différentes
sorties. La procédure recherche un
produit, définit un paramètre de sortie
égal au prix unitaire du produit puis
renvoie un code d’état de 0, indiquant
la bonne exécution.
Commençons par définir les résultats
en examinant le paramètre de sortie
@product_price. Le premier résultat
attendu est le renvoi du prix du
produit au programme appelant. Pour
mieux voir ce qui se passe dans ce scénario
de test, utilisons le code du listing
3 destiné à peupler la table
Products. On utilisera ensuite le code
du listing 4 pour exécuter la procédure
usp_lookupPrice.
Selon le product_id utilisé pour
tester usp_lookupPrice, le résultat attendu
pour @product_price sera
$19.95, $29.95, $39.95, $11.00, ou
NULL. Mais que se passe-t-il si l’on sélectionne
un product_id invalide ? Le
résultat dépendra de la valeur de test
ou autre caractère clavier fourni à
usp_lookupPrice. Par exemple, en entrant
un entier invalide, 11 par
exemple, comme product_id, on évoquera
une valeur de renvoi NULL. L’entrée d’un caractère alphabétique
tel que a ou f génèrera un message
d’erreur Server : Msg 8114 : Error
converting data type nvarchar to int. Et
la non-saisie d’un product_id ou d’un
caractère spécial tel que & causera un
message d’erreur Server : Msg 170 :
Incorrect syntax near ‘,’. Par conséquent,
selon les valeurs de test pour
product_id, on peut s’attendre à ce
que l’exécution de usp_lookupPrice
résulte en un product_price valide
(quand product_id est 1, 2, 3 ou 4), un
product_price nul ou un message TSQL
signalant une erreur de conversion,
une erreur de syntaxe, ou autre
erreur système.
Voyons maintenant les instructions
de renvoi dans usp_lookupPrice. On
peut utiliser une instruction de renvoi
pour passer le contrôle de traitement
des erreurs à un programme appelant
ou à une procédure en attribuant des
codes d’état entiers personnalisés à
différentes conditions d’erreur. On
peut programmer le processus appelant
pour qu’il traite le code résultant
d’une rencontre avec l’un de ces codes
d’état, à votre gré, y compris en l’ignorant.
Le résultat attendu d’une instruction
de renvoi est 0 – le code d’état par
défaut pour une procédure qui s’exécute
bien. Outre 0, une instruction de renvoi peut renvoyer les codes d’état
réservés Microsoft de -1 à -99, ainsi que
tout autre code personnalisé de notre
choix. Usp_lookupPrice contient deux
codes d’état personnalisés, 10 et 11,
donc les valeurs de renvoi attendues
sont
ne se produit
trouvé
un code d’état réservé
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
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
- Et si les clients n’avaient plus le choix ?
- Cybersécurité Active Directory et les attaques de nouvelle génération
Les plus consultés sur iTPro.fr
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- À l’aube de 2026, le SaaS entre dans une nouvelle phase
- Face à l’urgence écologique, l’IT doit faire sa révolution
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
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
