Récupérer résultat de la commande EXECUTE SQL Server dans une variable




Comment récupérer le résultat d’une variable initialisée et instanciée dans une procédure? En effet pendant l’appel des commandes T-SQL EXECUTE ou EXEC le résultat est souvent affiché mais il est utile de le récupérer dans une variable pour l’utiliser. 

 

-- Par exemple
EXEC SP_TEST 'Argument_1', @variable_retour ;

 

Récupérer le résultat d’une procédure stockée dans une variable avec SQL Server avec OUTPUT

La syntaxe sous SQL Server 2008 et 2008 R2 pour récupérer le résultat après l’exécution d’une procédure stockée en T-SQL via la commande EXEC est la suivante, avec l’utilisation du mot clef « OUTPUT » :

 

declare @valeur_retour as nvarchar(50)

EXEC SP_TEST 'Argument_1',@variable_retour output

-- SELECT pour afficher la valeur retournée par la procédure stockée 
select cast(@valeur_retour as nvarchar(50))