Dans la base de données MySQL, une procédure stockée est un programme composé d'une ou plusieurs instructions SQL. Ces programmes sont compilés et stockés dans la base de données pour être réutilisés. Les procédures stockées peuvent accepter des paramètres et renvoyer des valeurs. Dans cet article, nous nous concentrerons sur la valeur de retour de la procédure stockée MySQL.
La valeur de retour de la procédure stockée MySQL peut être utilisée pour déterminer le succès ou l'échec de l'exécution du programme, ou pour renvoyer les résultats de l'exécution du programme à l'appelant. Dans MySQL, il existe trois types de valeurs de retour des procédures stockées : les entiers, les nombres à virgule flottante et les chaînes.
Valeur de retour de type entier
Dans MySQL, vous pouvez utiliser l'instruction RETURN pour renvoyer une valeur de retour de type entier. La valeur de retour de type entier peut être n'importe quelle valeur entière, telle que 0, 1, 2, etc. Si la procédure stockée s'exécute avec succès, 0 est renvoyé ; si la procédure stockée échoue, une valeur entière non nulle est renvoyée. Si vous souhaitez renvoyer une valeur entière personnalisée, vous pouvez utiliser l'instruction RETURN pour spécifier la valeur dans la procédure stockée.
Ce qui suit est un exemple de procédure stockée qui renvoie une valeur de retour de type entier :
DELIMITER $$
CREATE PROCEDURE test()
BEGIN
DECLARE res INT;
SELECT COUNT(*) INTO res FROM users;
IF res>0 THEN
SELECT res;
ELSE
SELECT 0;
END IF;
RETURN 1;
END$$
DELIMITER;
Dans l'exemple ci-dessus, le test de procédure stockée compte le nombre d'enregistrements dans la table des utilisateurs et enregistre les résultats dans la variable res. Si res est supérieur à 0, affichez le résultat, sinon affichez 0. Une fois la procédure stockée exécutée, la valeur de retour est 1.
Valeur de retour de type à virgule flottante
La procédure stockée dans MySQL prend également en charge la valeur de retour de type à virgule flottante. Pour renvoyer une valeur à virgule flottante, utilisez l'instruction RETURN. Voici un exemple de procédure stockée qui renvoie une valeur de retour de type float :
DELIMITER $$
CREATE PROCEDURE test2()
BEGIN
DECLARE res FLOAT;
SELECT SUM(amount) INTO res FROM commandes;
IF res> 0 THEN
SELECT res;
ELSE
SELECT 0;
END IF;
RETURN 1.0;
END$$
DELIMITER;
Dans l'exemple ci-dessus, la procédure stockée test2 calcule le montant total de toutes les commandes dans la table des commandes et enregistre le résultat dans la variable res. Si res est supérieur à 0, affichez le résultat, sinon affichez 0. Une fois la procédure stockée exécutée, la valeur de retour est 1,0.
Valeur de retour de type chaîne
La procédure stockée dans MySQL prend également en charge la valeur de retour de type chaîne. Pour renvoyer une valeur de chaîne, utilisez l'instruction RETURN. Voici un exemple de procédure stockée qui renvoie une valeur de retour de type chaîne :
DELIMITER $$
CREATE PROCEDURE test3()
BEGIN
DECLARE res VARCHAR(100);
SELECT name INTO res FROM users WHERE id=1;
IF res IS NOT NULL THEN SELECT res; Obtenez le nom de l'utilisateur avec id=1 et enregistrez le résultat dans la variable res. Si res n'est pas vide, le résultat est affiché, sinon "inconnu" est affiché. Une fois la procédure stockée exécutée, la valeur de retour est « Hello, World ».
Résumé
La valeur de retour d'une procédure stockée MySQL peut être utilisée pour déterminer le succès ou l'échec de l'exécution d'un programme, ou pour renvoyer les résultats de l'exécution du programme à l'appelant. Dans MySQL, il existe trois types de valeurs de retour des procédures stockées : les entiers, les nombres à virgule flottante et les chaînes. Pour renvoyer une valeur de retour, utilisez l'instruction RETURN et spécifiez la valeur appropriée.
Ce qui précède est une introduction détaillée à la valeur de retour de la procédure stockée MySQL. Les procédures stockées peuvent améliorer l'efficacité d'exécution des instructions SQL et le taux de réutilisation du code. L'apprentissage des procédures stockées est donc très utile pour améliorer l'efficacité du développement de bases de données.
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!