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

instruction de procédure stockée mysql

PHPz
PHPzoriginal
2023-05-20 12:12:08742parcourir

La procédure stockée MySQL est un programme de base de données réutilisable qui peut exécuter une série d'instructions SQL pour exécuter des fonctions spécifiques. Par rapport à certaines instructions SQL complexes ou instructions SQL dans les applications, l'avantage des procédures stockées est qu'elles peuvent considérablement améliorer l'efficacité opérationnelle et la sécurité du programme.

Syntaxe

Les procédures stockées MySQL sont définies à l'aide de l'instruction "CREATE PROCEDURE". Voici un exemple simple :

CREATE PROCEDURE procedure_name ([IN/OUT] parameter_name data_type)
BEGIN 
    SQL statement; 
    SQL statement;
    ...
END
  • procedure_name : Le nom de la procédure stockée.
  • parameter_name : le nom du paramètre d'entrée et de sortie de la procédure stockée, data_type fait référence au type de données.
  • Instruction SQL : segment d'instruction SQL exécuté, qui peut inclure des structures de contrôle.

L'instruction de procédure stockée commence par "BEGIN" et se termine par "END", avec des instructions SQL et des structures de contrôle de programme au milieu. Les paramètres peuvent être des modes d’entrée, de sortie ou d’entrée-sortie.

Exemple

Ce qui suit est un exemple de procédure stockée qui génère des informations sur le poste de l'employé :

CREATE PROCEDURE employee_role(IN emp_id INT)
BEGIN
    SELECT employee_name, department_name, role_name 
    FROM employee, department, role
    WHERE employee.department_id = department.department_id
    AND employee.role_id = role.role_id
    AND employee_id = emp_id;
END

Dans cette procédure stockée, le paramètre d'entrée est emp_id et le type est INT. Le programme interrogera les données requises et affichera le nom de l'employé, le nom du service et le titre du poste.

Appel d'une procédure stockée

Une fois la procédure stockée définie, elle peut être appelée avec l'instruction CALL Voici un exemple simple :

CALL procedure_name (parameter1, parameter2, ...);

Exemple :

CALL employee_role(1001);

Cet appel affichera le nom, le nom du département et le titre du poste. de l'employé 1001 .

Paramètres d'entrée, de sortie, d'entrée et de sortie

Les paramètres d'entrée, de sortie et d'entrée et de sortie peuvent être définis en ajoutant les paramètres "IN", "OUT" et "INOUT".

Les paramètres IN font référence aux paramètres d'entrée dans la procédure stockée, c'est-à-dire les valeurs des paramètres transmises lors de l'exécution du programme, en utilisant la syntaxe suivante :

CREATE PROCEDURE procedure_name(IN parameter1 data_type)

Les paramètres OUT font référence aux paramètres de sortie dans la procédure stockée, et une valeur donnée est renvoyée à la fin de la procédure stockée Value, la syntaxe est la suivante :

CREATE PROCEDURE procedure_name(OUT parameter1 data_type)

Les paramètres INOUT font référence à des paramètres qui peuvent être modifiés à la fois en entrée et en sortie, en utilisant la syntaxe suivante :

CREATE PROCEDURE procedure_name(INOUT parameter1 data_type)

Structure de boucle

Les procédures stockées MySQL prennent en charge une variété de structures de boucles, notamment WHILE, REPEAT/UNTIL, LOOP et FOR. Parmi elles, les structures WHILE et REPEAT/UNTIL sont les plus couramment utilisées.

Structure WHILE :

WHILE condition DO
   statement(s);
END WHILE;

Structure REPEAT/UNTIL :

REPEAT
   statement(s);
UNTIL condition;

La "condition" dans l'instruction de boucle est une expression logique Tant que la condition est vraie, la boucle continuera à s'exécuter.

Instructions conditionnelles

Les procédures stockées MySQL prennent également en charge les instructions conditionnelles, notamment les instructions IF, IF-ELSE et CASE WHEN. Voici un exemple d'instruction IF simple :

IF salary > 10000 THEN
   SET bonus = 500;
ELSE
   SET bonus = 200;
END IF;

Cette instruction IF définira la variable bonus à 500 ou 200.

Résumé

La procédure stockée MySQL est un programme de base de données réutilisable utilisé pour exécuter une série d'instructions SQL et exécuter des fonctions spécifiques. Les procédures stockées peuvent améliorer l'efficacité et la sécurité d'exécution du programme. Sa syntaxe comprend les paramètres de définition, d'appel, d'entrée et de sortie, la structure de boucle et les instructions conditionnelles, etc. L'apprentissage des procédures stockées MySQL est très utile pour améliorer l'efficacité de la programmation et écrire des instructions de requête SQL plus puissantes.

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