Maison  >  Article  >  base de données  >  mysql renvoie une procédure stockée

mysql renvoie une procédure stockée

PHPz
PHPzoriginal
2023-05-08 19:28:36992parcourir

MySQL est un système de gestion de bases de données relationnelles open source et puissant. Il prend en charge les procédures stockées, qui sont des blocs précompilés de code SQL qui exécutent une fonction ou une tâche spécifique dans la base de données. Les procédures stockées peuvent réduire le code en double, améliorer l'efficacité des opérations de base de données et garantir la sécurité.

Cet article se concentrera sur l'utilisation des procédures stockées et le traitement des valeurs de retour dans MySQL.

1. Création et utilisation de procédures stockées MySQL
La création d'une procédure stockée MySQL comprend les étapes suivantes :

  1. Définir le nom et les paramètres de la procédure stockée
    La méthode d'implémentation spécifique est :
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)

Parmi elles, PROCEDURE est le mot-clé pour créer une procédure stockée, nom_procédure est le nom de la procédure stockée, IN nom_paramètre est le nom du paramètre d'entrée et DATA_TYPE est le type de données du paramètre d'entrée.

  1. Spécifiez l'instruction de procédure stockée
    La méthode d'implémentation spécifique est :
BEGIN
    -- 存储过程语句
END

Parmi eux, BEGIN et END sont les mots-clés pour spécifier l'instruction de procédure stockée. Plusieurs instructions SQL peuvent être écrites entre BEGIN et END pour implémenter les fonctions spécifiques de la procédure stockée.

  1. Renvoyer les résultats
    Dans une procédure stockée, vous pouvez utiliser l'instruction SELECT pour renvoyer des résultats. Comme indiqué ci-dessous :
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE)
BEGIN
    SELECT * FROM table_name WHERE column_name = parameter_name;
END

Parmi eux, * est un caractère générique, ce qui signifie renvoyer les données de toutes les colonnes ; nom_table est le nom de la table ; nom_colonne est le nom de la colonne.

2. Appel de procédures stockées MySQL
Après avoir créé une procédure stockée MySQL, vous pouvez utiliser l'instruction CALL pour appeler la procédure stockée. La méthode d'implémentation spécifique est la suivante :

CALL procedure_name(parameter_value);

Parmi eux, CALL est le mot-clé pour appeler la procédure stockée ; procédure_name est le nom de la procédure stockée ; paramètre_valeur est la valeur du paramètre transmise à la procédure stockée.

3. Traitement des valeurs de retour des procédures stockées MySQL
Les procédures stockées MySQL peuvent renvoyer deux types de valeurs : une valeur unique et un ensemble de résultats. Pour une valeur unique, vous pouvez utiliser le paramètre OUT pour renvoyer sa valeur, et pour un jeu de résultats, vous pouvez utiliser CURSOR.

  1. Renvoyer une seule valeur via le paramètre OUT
    La méthode d'implémentation spécifique consiste à déclarer le paramètre OUT dans l'instruction CREATE PROCEDURE, comme indiqué ci-dessous :
CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)

Où, OUT est le mot-clé pour déclarer le paramètre OUT ; le nom du paramètre de sortie, DATA_TYPE est le type de données du paramètre de sortie.

Dans l'instruction de procédure stockée, vous pouvez utiliser l'instruction SET pour définir la valeur du paramètre OUT, comme indiqué ci-dessous :

CREATE PROCEDURE procedure_name (IN parameter_name DATA_TYPE, OUT out_parameter_name DATA_TYPE)
BEGIN
    SET out_parameter_name = (SELECT COUNT(*) FROM table_name WHERE column_name = parameter_name);
END

Parmi eux, COUNT(*) est une fonction d'agrégation qui renvoie le nombre total d'enregistrements qui répondent les conditions.

Lors de l'appel d'une procédure stockée, vous pouvez utiliser l'instruction SELECT pour récupérer la valeur du paramètre OUT, comme indiqué ci-dessous :

CALL procedure_name(parameter_value, @out_parameter_value);
SELECT @out_parameter_value;

Parmi eux, @out_parameter_value est une variable utilisateur utilisée pour stocker la valeur du paramètre OUT.

  1. Renvoyer l'ensemble de résultats via CURSOR
    CURSOR est un type de données utilisé pour parcourir l'ensemble de résultats. Dans les procédures stockées MySQL, vous pouvez utiliser les mots-clés DECLARE, OPEN, FETCH, CLOSE et END pour définir CURSOR et les jeux de résultats.

La méthode d'implémentation spécifique est la suivante :

CREATE PROCEDURE procedure_name ()
BEGIN
    DECLARE cursor_name CURSOR FOR SELECT column_name FROM table_name;
    OPEN cursor_name;
    FETCH cursor_name INTO variable_name;
    WHILE @@FETCH_STATUS = 0 DO
        -- 处理结果集
        FETCH cursor_name INTO variable_name;
    END WHILE;
    CLOSE cursor_name;
END

Parmi eux, DECLARE est le mot-clé pour déclarer CURSOR ; FOR SELECT nom_colonne FROM nom_table est l'instruction de requête de l'ensemble de résultats ; OPEN est le mot-clé pour ouvrir CURSOR ; des données dans le mot-clé CURSOR ; WHILE @@FETCH_STATUS = 0 est la condition pour vérifier si l'ensemble des résultats a été parcouru ; CLOSE est le mot-clé pour fermer CURSOR.

Lors de l'appel d'une procédure stockée, vous pouvez utiliser l'instruction SELECT pour récupérer des données dans CURSOR, comme indiqué ci-dessous :

CALL procedure_name();
SELECT column_name FROM table_name WHERE condition;

IV Précautions pour les procédures stockées MySQL
Lors de l'utilisation des procédures stockées MySQL, vous devez faire attention aux procédures stockées. points suivants :

  1. Les noms de variables dans les procédures stockées ne doivent pas avoir le même nom que les mots-clés.
  2. Vous pouvez utiliser l'instruction SET dans une procédure stockée pour définir la valeur d'une variable.
  3. Les points-virgules peuvent être utilisés pour séparer plusieurs instructions dans une procédure stockée.
  4. Les noms des paramètres dans la procédure stockée et les noms des colonnes dans la table de données ne doivent pas avoir le même nom, sinon une ambiguïté peut survenir.
  5. Veillez à ajouter des parenthèses () lors de l'utilisation de procédures stockées, sinon des erreurs de syntaxe pourraient survenir.

Résumé :
La procédure stockée MySQL est un bloc de code SQL précompilé qui peut exécuter certaines fonctions ou tâches spécifiques dans la base de données. Les procédures stockées peuvent réduire le code en double, améliorer l'efficacité des opérations de base de données et garantir la sécurité. Cet article présente la création, l'appel et le traitement des valeurs de retour des procédures stockées MySQL, ainsi que les points nécessitant une attention particulière lors de l'utilisation de procédures stockées. Grâce à l'utilisation flexible des procédures stockées MySQL, les développeurs peuvent aider les développeurs à effectuer plus efficacement les opérations de base 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!

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