Maison >base de données >tutoriel mysql >Comment puis-je attribuer des résultats de requête SQL à des variables ?

Comment puis-je attribuer des résultats de requête SQL à des variables ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 16:56:42151parcourir

How Can I Assign SQL Query Results to Variables?

Attribuer des résultats de requête à des variables SQL

Attribuer le résultat d'un appel exec à une variable dans SQL n'est pas possible en utilisant la syntaxe fournie. Cependant, il existe des approches alternatives pour récupérer des données à partir de procédures stockées ou exécuter des requêtes.

Paramètres de sortie

Si vous devez récupérer une seule valeur à partir d'une procédure stockée, vous peut utiliser un paramètre de sortie. Un paramètre de sortie est une variable transmise à une procédure stockée et modifiée au sein de la procédure. La valeur modifiée est ensuite renvoyée au code appelant.

Exemple :

Considérez la procédure stockée suivante qui prend deux paramètres et attribue une valeur DATE à un paramètre de sortie :

CREATE PROCEDURE up_GetBusinessDay 
(
    @Date Date,
    @Offset Int,
    @NextBusinessDay Date OUTPUT
)
AS
BEGIN
    -- Code to calculate the NextBusinessDay 
    SET @NextBusinessDay = '2023-03-15'
END
GO

Vous pouvez appeler cette procédure stockée depuis votre code et spécifier un paramètre de sortie variable :

DECLARE @NextBusinessDay DATE;

EXEC up_GetBusinessDay @Date = '2023-03-08', @Offset = -1, @NextBusinessDay OUTPUT;

SELECT @NextBusinessDay;

Cela renverra la valeur DATE calculée dans la procédure stockée à la variable @NextBusinessDay.

Valeurs de retour

Une autre option consiste à utiliser une valeur de retour pour indiquer le succès ou l'échec d'une procédure stockée ou d'une requête. La valeur de retour est une valeur entière unique qui est renvoyée au code appelant.

Exemple :

La procédure stockée suivante renvoie une valeur de retour de 1 si la valeur d'entrée est supérieur à 5, sinon il renvoie 0 :

CREATE PROCEDURE YourProcedure 
(
    @Param Int
)
AS
BEGIN
    IF @Param > 5
        RETURN 1;
    ELSE
        RETURN 0;
END
GO

Vous pouvez gérer la valeur de retour dans votre code à l'aide de mécanismes de gestion des erreurs.

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