Retourner des variables avec une procédure stockée SQL Server et OUTPUT

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

Sélection des données depuis la table source de la procédure stockée SQL Server
Sélection des données depuis la table source de la procédure stockée 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

  1. Déclarer une variable du même type que le retour OUTPUT et la colonne Ville, soit nvarchar(20) pour notre exemple.
  2. Exécuter la procédure avec la commande EXEC.
  3. 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];
Retourner des variables avec une procédure stockée SQL Server depuis SSMS
Retourner des variables avec une procédure stockée SQL Server depuis SSMS

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

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*