Maison >base de données >tutoriel mysql >Comment attribuer le résultat d'un appel EXEC à une variable SQL ?

Comment attribuer le résultat d'un appel EXEC à une variable SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 12:46:39341parcourir

How to Assign the Result of an EXEC Call to a SQL Variable?

Attribuer des résultats d'exécution à des variables SQL

Question :
Comment attribuer le résultat d'un appel d'exécution à une variable en SQL ? Par exemple, si vous disposez d'une procédure stockée nommée up_GetBusinessDay qui renvoie une seule date, pouvez-vous attribuer le résultat à l'aide d'une instruction telle que :

exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1

Réponse :

L'utilisation d'un paramètre de sortie est une approche préférée plutôt que d’attribuer le résultat directement à une variable. Voici un exemple de création d'une procédure stockée avec un paramètre de sortie :

CREATE PROCEDURE YourStoredProcedure 
(
    @Param1 int
   ,@Param2 varchar(5)
   ,@Param3 datetime OUTPUT
)
AS
    IF ISNULL(@Param1, 0) > 5
    BEGIN
        SET @Param3 = GETDATE()
    END
    ELSE
    BEGIN
        SET @Param3 = '1/1/2010'
    END
    
    RETURN 0
GO

Pour appeler cette procédure stockée et utiliser le paramètre de sortie :

DECLARE @OutputParameter datetime
       ,@ReturnValue     int

EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT

PRINT @ReturnValue
PRINT CONVERT(char(23), @OutputParameter, 121)

Cela affichera :

0
2010-01-01 00:00:00.000

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn