Comment créer une procédure stockée SQL Server pour retourner des variables avec OUTPUT ?
Exemple de code T-SQL pour retourner des variables avec une procédure stockée SQL Server à travers les paramètres de sortie. La mise en place, l’instanciation et l’utilisation des paramètres de sortie d’une procédure stockée est similaire à celle des paramètres d’entrée. Utiliser la clause OUTPUT après le nom du paramètre pour indiquer le retour.
La clause de sortie peut être spécifié en utilisant soit le mot-clé OUTPUT ou tout simplement OUT. Ce tutoriel explique pas à pas comment récupérer et stocker le résultat d’une procédure stockée après une commande execute dans une variable SQL Server. En effet pendant l’appel des commandes execute SQL ou encore EXEC, il est facile d’afficher le résultat avec la fonction PRINT.
1. Créer la table utilisée par la procédure stockée
Il est utile de récupérer un résultat dans une variable pour l’utiliser plusieurs fois à la suite du code T-SQL. Tout d’abord, créer la table des clients, le code d’exemple pour la création de la table est disponible ici :
Script de création de la table Clients sous SQL Server
2. Procédure T-SQL pour retourner des variables avec OUTPUT
Deuxièmement, utiliser ce code comme exemple. Cette procédure retourne en sortie le nom de la ville d’un client dont le nom est passé en paramètre d’entrée. En effet, en T-SQL avec la commande EXEC, suivie du nom de la procédure, utiliser le mot clef « OUTPUT ». Cela permet de stocker le résultat depuis la procédure appelée et de l’envoyer vers l’appelante.
-- Création de la procédure stockée avec la variable @VilleClient en OUTPUT CREATE PROCEDURE dbo.uspVilleClient @NomClient nvarchar(20), @VilleClient nvarchar(20) OUTPUT AS SELECT @VilleClient= VILLE FROM dbo.CLIENTS WHERE NOM = @NomClient GO
3. Exécuter la procédure MS SQL avec OUTPUT en 3 étapes
- Déclarer une variable du même type que le retour OUTPUT et la colonne Ville, soit nvarchar(20) pour notre exemple.
- Exécuter la procédure avec la commande EXEC.
- Sélectionner la variable @VilleClient qui contient le résultat de la procédure stockée.
-- Exécution de la procédure stockée DECLARE @VilleClient nvarchar(20) EXEC dbo.uspVilleClient @NomClient = 'SERGEI', @VilleClient = @VilleClient OUTPUT SELECT @VilleClient as [Ville];
Pour conclure, le résultat de la procédure stockée est la valeur de la ville pour le client sélectionné. Pour aller plus loin sur les procédures stockées, voici comment insérer des lignes depuis une procédure stockée. Cet exemple passe les valeurs en paramètres dans des variables. Pour découvrir d’autres exemples de scripts, voici comment modifier une procédure stockée SQL Server.
Soyez le premier à commenter