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
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
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- Construire la souveraineté numérique en Europe grâce à un écosystème ouvert et collaboratif
- Le Zero Trust : pourquoi votre entreprise en a besoin
- Cloud souverain : répondre aux enjeux d’hybridation et de maîtrise des dépendances
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
