Maison >base de données >tutoriel mysql >Comment puis-je attribuer des résultats de requête SQL à des 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!