Maison > base de données > tutoriel mysql > Comment puis-je attribuer les résultats d'une commande SQL « exec » à une variable ?

Comment puis-je attribuer les résultats d'une commande SQL « exec » à une variable ?

Mary-Kate Olsen
Libérer: 2025-01-05 05:15:46
original
959 Les gens l'ont consulté

How Can I Assign the Results of an SQL `exec` Command to a Variable?

Utilisation des paramètres de sortie pour attribuer des résultats d'exécution à des variables SQL

En SQL, la commande exec est couramment utilisée pour exécuter des procédures et des fonctions stockées. Bien que vous ne puissiez pas attribuer directement le résultat d'un appel exec à une variable en utilisant une expression comme celle que vous avez suggérée ("exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1"), il existe des méthodes alternatives pour obtenir cette fonctionnalité.

Une approche privilégiée consiste à utiliser des paramètres de sortie. Les paramètres de sortie vous permettent de transmettre une variable en entrée, mais également de la mettre à jour avec une valeur renvoyée par la procédure stockée ou la fonction. Voici comment procéder :

Créer 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
Copier après la connexion

Dans cet exemple, le paramètre @Param3 est déclaré comme sortie paramètre. Il sera mis à jour avec la valeur renvoyée par la procédure stockée.

Appel de la procédure stockée à l'aide d'un paramètre de sortie :

DECLARE @OutputParameter datetime
       ,@ReturnValue     int

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

PRINT @ReturnValue
PRINT CONVERT(char(23), @OutputParameter, 121)
Copier après la connexion

Dans cet exemple, le @OutputParameter La variable est déclarée et transmise comme paramètre de sortie à la procédure stockée. Après l'appel exec, la variable @OutputParameter contiendra le résultat renvoyé par la procédure stockée, qui est ensuite imprimé sur la console.

Sortie :

0
2010-01-01 00:00:00.000
Copier après la connexion

L'utilisation des paramètres de sortie fournit un moyen robuste et efficace de transmettre des valeurs entre les procédures stockées et les applications clientes dans SQL.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal