Procédure stockée SQL Server qui retourne des valeurs avec OUTPUT




Comment écrire une procédure stockée SQL Server qui retourne des valeurs ? Dans ce tutoriel, nous allons voir comment écrire une procédure stockée SQL Server simple en T-SQL qui retourne des valeurs. La mise en place des paramètres de sortie d’une procédure stockée est similaire à celle des paramètres d’entrée, la seule différence est qu’il faut utiliser la clause OUTPUT après le nom du paramètre pour spécifier qu’il doit retourner une valeur. La clause de sortie peut être spécifié en utilisant soit le mot-clé « OUTPUT » ou tout simplement « OUT ».

El faut au préalable créer la table clients, le code d’exemple pour la création de la table CLIENTS est disponible ici :

Script de création de la table Clients sous SQL Server


Exemple de procédure stockée SQL Server retournant des valeurs avec OUTPUT

Cet exemple de procédure retourne en sortie le nom de la ville d’un client dont le nom est passé en paramètre d’entrée.

-- 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

Exécution de la procédure stockée 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]