Maison > Article > base de données > Quelle est la syntaxe de la procédure stockée MySQL ?
Dans MySQL, vous pouvez utiliser l'instruction "CREATE PROCEDURE" pour créer une procédure stockée. La syntaxe est "CREATE PROCEDURE nom du processus paramètres du processus corps du processus paramètres du processus format [IN | OUT | INOUT] type de nom du paramètre".
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Les instructions SQL doivent d'abord être compilées puis exécutées, et la procédure stockée (Stored Procedure) est un ensemble d'instructions SQL pour exécuter des fonctions spécifiques. Elle est compilée et stockée dans la base de données. . L'utilisateur spécifie le nom de la procédure stockée et les paramètres donnés (si la procédure stockée a des paramètres) pour l'appeler.
Les procédures stockées sont des fonctions programmables qui sont créées et enregistrées dans la base de données et peuvent être composées d'instructions SQL et de structures de contrôle. Les procédures stockées sont utiles lorsque vous souhaitez exécuter la même fonction sur différentes applications ou plates-formes, ou lorsque vous souhaitez encapsuler des fonctionnalités spécifiques. Les procédures stockées dans une base de données peuvent être considérées comme une simulation de l’approche de programmation orientée objet, qui permet de contrôler la manière dont les données sont accessibles.
Avantages des procédures stockées :
(1). Améliorez la fonctionnalité et la flexibilité du langage SQL : les procédures stockées peuvent être écrites avec des instructions de contrôle, ont une grande flexibilité et peuvent effectuer des jugements complexes et des opérations plus complexes.
(2). Programmation de composants standard : une fois qu'une procédure stockée est créée, elle peut être appelée plusieurs fois dans le programme sans avoir à réécrire l'instruction SQL de la procédure stockée. Et les professionnels des bases de données peuvent modifier les procédures stockées à tout moment sans affecter le code source de l'application.
(3). Vitesse d'exécution plus rapide : si une opération contient une grande quantité de code Transaction-SQL ou est exécutée plusieurs fois, la procédure stockée sera exécutée beaucoup plus rapidement que le traitement par lots. Parce que les procédures stockées sont précompilées. Lorsqu'une procédure stockée est exécutée pour la première fois, la requête est analysée et optimisée par l'optimiseur et un plan d'exécution est finalement stocké dans la table système. L'instruction batch Transaction-SQL doit être compilée et optimisée à chaque exécution, et la vitesse est relativement plus lente.
(4). Réduire le trafic réseau : Pour les opérations sur le même objet de base de données (telles que requête, modification), si les instructions Transaction-SQL impliquées dans cette opération sont organisées en procédures stockées, alors lorsque la procédure stockée est appelée sur le ordinateur client Au cours du processus, seule l'instruction d'appel est transmise sur le réseau, réduisant ainsi considérablement le trafic réseau et la charge du réseau.
(5). Utilisez-le pleinement comme mécanisme de sécurité : en restreignant les autorisations d'exécution d'un certain processus stocké, les autorisations d'accès aux données correspondantes peuvent être restreintes, évitant ainsi l'accès des utilisateurs non autorisés aux données et garantissant les données. sécurité.
Procédures stockées MySQL
Les procédures stockées sont une fonction importante de la base de données. MySQL 5.0 ne prenait pas en charge les procédures stockées auparavant, ce qui réduisait considérablement l'application de MySQL. Heureusement, MySQL 5.0 commence à prendre en charge les procédures stockées, ce qui peut grandement améliorer la vitesse de traitement de la base de données et également améliorer la flexibilité de la programmation de la base de données.
Création de procédures stockées MySQL
Syntaxe
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体
DELIMITER // CREATE PROCEDURE myproc(OUT s int) BEGIN SELECT COUNT(*) INTO s FROM students; END // DELIMITER ;
Délimiteur
MySQL utilise ";" comme délimiteur par défaut. Si aucun délimiteur n'est déclaré, le compilateur traitera la procédure stockée comme une instruction SQL, alors compilez-la. la procédure signalera une erreur, vous devez donc déclarer le délimiteur de segment actuel avec "DELIMITER //" à l'avance, afin que le compilateur considère le contenu entre les deux "//" comme le code de la procédure stockée et ne les exécutera pas codes ; "DELIMITER ;" Cela signifie restaurer le séparateur.
Paramètres
La procédure stockée peut avoir des paramètres d'entrée, de sortie, d'entrée et de sortie selon les besoins. S'il y a plusieurs paramètres, utilisez "," pour les séparer. Les paramètres des procédures stockées MySQL sont utilisés dans la définition des procédures stockées. Il existe trois types de paramètres, IN, OUT, INOUT : La valeur du paramètre IN doit être précisée lors de l'appel de la procédure stockée. La valeur du paramètre modifié lors de l'appel. la procédure stockée ne peut pas être renvoyée. , est la valeur par défaut
OUT : Cette valeur peut être modifiée à l'intérieur de la procédure stockée et peut être renvoyée
INOUT : spécifiée lors de l'appel, et peut être modifiée et renvoyée
Corps de la procédure
Le début et la fin de l'utilisation du corps du processus BEGIN et END est marquée.
Apprentissage recommandé :
Tutoriel vidéo mysqlCe 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!