Maison base de données tutoriel mysql Comment écrire une procédure stockée dans une base de données

Comment écrire une procédure stockée dans une base de données

Aug 21, 2019 pm 01:16 PM
存储过程 数据库

Comment écrire une procédure stockée dans une base de données

Les instructions SQL doivent d'abord être compilées puis exécutées, et les procédures stockées (Stored Procedure) sont un ensemble d'instructions SQL pour remplir des fonctions spécifiques. Elles sont compilées et stockées dans la base de données. L'utilisateur précise Appeler la procédure stockée avec le nom et les paramètres donnés (si la procédure stockée a des paramètres). Les procédures stockées sont des fonctions programmables 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.

Cours recommandés : Tutoriel MySql.

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. , Il a une grande flexibilité et peut 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 transaction est effectuée sur l'ordinateur client Lorsque la procédure stockée est appelée, 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é, il est possible de restreindre les autorisations d'accès aux données correspondantes et d'empêcher les utilisateurs non autorisés d'accéder au accès aux données, garantissant la sécurité des données.

Procédures stockées de 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 ;
Copier après la connexion

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, donc le processus de compilation signalera une erreur, vous devez donc utiliser "DELIMITER //" pour déclarer le délimiteur. délimiteur de segment actuel à l'avance, permettant au compilateur de considérer le contenu entre les deux "//" comme le code de la procédure stockée, et n'exécutera pas ces codes ; "DELIMITER;" signifie restaurer le délimiteur.

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 spécifiée lors de l'appel de la procédure stockée. le paramètre dans la procédure stockée. La valeur ne peut pas être renvoyée et est la valeur par défaut OUT : La valeur peut être modifiée à l'intérieur de la procédure stockée et peut être renvoyée INOUT : Elle est spécifiée lors de l'appel et peut être modifiée et renvoyée

Corps du processus

Le début et la fin du corps du processus sont marqués par BEGIN et END.

Résumé

Cette fois, nous avons principalement maîtrisé l'utilisation des procédures stockées. En général, les procédures stockées sont en fait similaires aux fonctions en C++. Vous devez appeler cette fonction dans le fichier qui crée ce processus, mais pour une procédure stockée, cela équivaut à stocker ce processus d'opération dans la base de données. Vous pouvez utiliser call et l'appeler, et saisir ou sortir certains paramètres et résultats.

Ce qui m'a le plus impressionné, ce sont les définitions d'entrée et de sortie comme "in n int" et "out sum int". En consultant les blogs connexes, nous pouvons résumer les règles d'utilisation des définitions d'entrée et de sortie comme suit :

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
Le format est : Créer une procédure| function([[IN |OUT | INOUT ] Type de données du nom du paramètre...])

Paramètre d'entrée IN
Indique que la valeur de ce paramètre doit être spécifiée lors de l'appel de la procédure stockée. La modification de la valeur de ce paramètre pendant la procédure stockée ne peut pas être renvoyée et est la valeur par défaut <.>

Paramètres de sortie OUT Cette valeur peut être modifiée dans la procédure stockée et peut être renvoyée

Paramètres d'entrée et de sortie INOUT Il peut être spécifié lors de l'appel, et peut être modifié et renvoyé

IN et OUT ont été expérimentés dans l'expérience, principalement la compréhension de INOUT Voici un exemple :

Exemple d'utilisation du paramètre. inout (peut à la fois saisir une valeur et transmettre une valeur)

Fonction de déclaration : passer un âge, augmenter automatiquement l'âge de 10 ans
créer une procédure p3 (inout age int)
commencer
set age:=age+10;
end
Parmi eux : lors de l'appel, la valeur du paramètre inout est à la fois un type d'entrée et un type de sortie. Donnez-lui une valeur. La valeur n'est pas une variable, nous devons donc. définissez d'abord une variable et initialisez la valeur. Transmettez-la directement lors de l'appel.
set @currentAge=8$
call p3(@currentAge)$
select @currentAge$
Après avoir créé et exécuté la procédure stockée, les résultats d'exécution sont les suivants :


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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Une analyse approfondie de la façon dont HTML lit la base de données Une analyse approfondie de la façon dont HTML lit la base de données Apr 09, 2024 pm 12:36 PM

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP Mar 27, 2024 pm 05:21 PM

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques. Les raisons courantes pour lesquelles les caractères sont tronqués sont des paramètres de jeu de caractères incorrects dans la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou u.

Comment se connecter à une base de données distante à l'aide de Golang ? Comment se connecter à une base de données distante à l'aide de Golang ? Jun 01, 2024 pm 08:31 PM

Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.

See all articles