Maison > base de données > tutoriel mysql > le corps du texte

Introduction détaillée au problème de valeur de retour des procédures stockées MySQL

PHPz
Libérer: 2023-04-19 15:11:41
original
1404 Les gens l'ont consulté

Dans le développement de données avec MySQL, les procédures stockées sont un outil très couramment utilisé. Les procédures stockées peuvent réduire la redondance du code, simplifier les procédures opérationnelles et améliorer l'efficacité opérationnelle du code, augmentant ainsi l'efficacité du développement des données. Lors de l'utilisation de procédures stockées, nous devons souvent prendre en compte la valeur de retour de la procédure stockée. Cet article présentera en détail le problème de la valeur de retour des procédures stockées MySQL.

1. La structure de base des procédures stockées MySQL

Dans MySQL, une procédure stockée se compose des parties suivantes :

  1. Nom de la procédure stockée : L'identifiant unique de la procédure stockée dans MySQL.
  2. Liste des paramètres de procédure stockée : utilisée pour recevoir des paramètres entrants externes pour effectuer des opérations spécifiques.
  3. Corps de la procédure stockée : représente la logique d'exécution spécifique de la procédure stockée, qui peut inclure des instructions SQL, des jugements conditionnels, des structures de boucle, etc.
  4. Valeur de retour de la procédure stockée : indique la valeur renvoyée à l'appelant une fois l'exécution de la procédure stockée terminée.

2. Types de valeurs de retour des procédures stockées MySQL

Dans MySQL, les types de valeurs de retour des procédures stockées peuvent être divisés en trois types :

  1. Nombre fixe de valeurs de retour (OUT)

Ceci type de valeur de retour peut être comprise comme la valeur unique renvoyée par la procédure stockée. Lors de la définition d'une procédure stockée, nous pouvons ajouter des paramètres de type OUT à la liste des paramètres pour recevoir les valeurs de retour. Par exemple :

DELIMITER $$ CREATE PROCEDURE GetTotal(IN a INT, IN b INT, OUT total INT) BEGIN SET total = a + b; END$$ DELIMITER ;

La procédure stockée GetTotal reçoit deux paramètres entiers a et b . Calculez la somme des deux paramètres et renvoyez le résultat à l'appelant.

Remarque : lors de la définition d'une procédure stockée, DELIMITER doit être défini comme d'autres caractères (caractères autres que le point-virgule) pour éviter que les points-virgules dans les instructions SQL ne soient interprétés à tort comme des délimiteurs.

  1. Valeurs de retour multiples (INOUT)

Ce type de valeur de retour peut être compris comme une procédure stockée renvoyant plusieurs valeurs (y compris à la fois les paramètres d'entrée et les paramètres de sortie). Lors de la définition d'une procédure stockée, nous pouvons ajouter des paramètres de type INOUT à la liste des paramètres. Par exemple :

DELIMITER $$ CREATE PROCEDURE CompareAge(INOUT age1 INT, INOUT age2 INT) BEGIN IF age1 < age2 THEN SET age1 = age2 = END$$ DELIMITER ;

Procédure stockée CompareAge; , Recevez deux paramètres entiers age1 et age2, comparez les tailles des deux paramètres, si age1 est inférieur à age2, échangez les valeurs des deux paramètres.

Lors de l'exécution d'une procédure stockée, nous devons d'abord définir les valeurs initiales des paramètres, puis transmettre les paramètres à la procédure stockée. Une fois la procédure stockée exécutée, les résultats peuvent être mis à jour avec les paramètres d'origine.

  1. Renvoyer un ensemble de résultats (CURSEUR)

Ce type de valeur de retour peut être compris comme le retour d'un ensemble de résultats. Lors de la définition d'une procédure stockée, vous devez définir un curseur et utiliser le curseur pour renvoyer le jeu de résultats. Par exemple :

DELIMITER $$ CREATE PROCEDURE GetList() BEGIN DECLARE cur CURSOR FOR SELECT * FROM TABLE_NAME et renvoie le jeu de résultats à l'appelant.

Remarque : lorsque vous utilisez le jeu de résultats, vous devez utiliser l'instruction CALL pour appeler la procédure stockée, telle que : CALL GetList().

3. Exécution des procédures stockées MySQL

L'exécution des procédures stockées est divisée en deux phases : la phase de compilation de la procédure stockée et la phase d'exécution de la procédure stockée.

La phase de compilation des procédures stockées
  1. La phase de compilation des procédures stockées signifie que MySQL compilera la procédure stockée lorsqu'il la récupérera pour la première fois. Pendant le processus de compilation, MySQL effectue une analyse syntaxique et une analyse sémantique sur la procédure stockée et génère un plan d'exécution.

La phase d'exécution de la procédure stockée
  1. La phase d'exécution de la procédure stockée fait référence au moment où la procédure stockée est appelée, MySQL exécutera le plan d'exécution généré et renverra les résultats de l'exécution à l'appelant. Pendant le processus d'exécution, MySQL exécutera d'abord l'instruction du corps de la procédure stockée, puis renverra le résultat correspondant en fonction du type de valeur de retour de la procédure stockée.

4. Utilisation des valeurs de retour d'une procédure stockée MySQL

Lorsque nous utilisons la valeur de retour d'une procédure stockée, nous devons utiliser l'instruction CALL pour appeler la procédure stockée et transmettre les paramètres à la procédure stockée. Par exemple :

CALL GetTotal(1, 2, @result); SELECT @result;

Après avoir exécuté la procédure stockée, nous pouvons obtenir la valeur de retour de la procédure stockée via le nom de la @variable. @result voici la valeur de retour de la procédure stockée GetTotal.

Remarque : lorsque vous utilisez une procédure stockée pour renvoyer un ensemble de résultats, vous devez utiliser l'instruction CALL pour appeler la procédure stockée et utiliser un curseur pour traiter l'ensemble de résultats.

5. Résumé

Cet article présente en détail le problème des valeurs de retour des procédures stockées MySQL, y compris la structure de base des procédures stockées, les types de valeurs de retour, les processus d'exécution et l'utilisation des valeurs de retour. Lors de l'utilisation de procédures stockées, nous devons choisir le type de valeur de retour approprié en fonction des besoins réels et utiliser l'instruction CALL pour appeler la procédure stockée, afin d'obtenir une grande efficacité dans le développement des 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal