In MySQL können Sie die Anweisung „CREATE PROCEDURE“ verwenden, um eine gespeicherte Prozedur zu erstellen. Die Syntax lautet „CREATE PROCEDURE Prozessname Prozessparameter Prozesskörper Prozessparameterformat [IN|OUT|INOUT] Parameternamentyp“.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
SQL-Anweisungen müssen zuerst kompiliert und dann ausgeführt werden. Bei einer gespeicherten Prozedur handelt es sich um eine Reihe von SQL-Anweisungen zum Ausführen bestimmter Funktionen. Sie werden kompiliert und in der Datenbank gespeichert . Der Benutzer gibt den Namen der gespeicherten Prozedur und die angegebenen Parameter (sofern die gespeicherte Prozedur über Parameter verfügt) an, um sie aufzurufen.
Gespeicherte Prozeduren sind programmierbare Funktionen, die in der Datenbank erstellt und gespeichert werden und aus SQL-Anweisungen und Kontrollstrukturen bestehen können. Gespeicherte Prozeduren sind nützlich, wenn Sie dieselbe Funktion auf verschiedenen Anwendungen oder Plattformen ausführen oder wenn Sie bestimmte Funktionen kapseln möchten. Gespeicherte Prozeduren in einer Datenbank können als Simulation des objektorientierten Ansatzes in der Programmierung angesehen werden, der die Kontrolle darüber ermöglicht, wie auf Daten zugegriffen wird.
Vorteile gespeicherter Prozeduren:
(1) Verbessern Sie die Funktion und Flexibilität der SQL-Sprache: Gespeicherte Prozeduren können mit Steueranweisungen geschrieben werden, weisen eine hohe Flexibilität auf und können komplexe Beurteilungen und komplexere Operationen durchführen.
(2). Standardkomponentenprogrammierung: Nachdem eine gespeicherte Prozedur erstellt wurde, kann sie im Programm mehrmals aufgerufen werden, ohne dass die SQL-Anweisung der gespeicherten Prozedur neu geschrieben werden muss. Und Datenbankexperten können gespeicherte Prozeduren jederzeit ändern, ohne den Quellcode der Anwendung zu beeinträchtigen.
(3). Schnellere Ausführungsgeschwindigkeit: Wenn eine Operation eine große Menge an Transaktions-SQL-Code enthält oder mehrmals ausgeführt wird, wird die gespeicherte Prozedur viel schneller ausgeführt als die Stapelverarbeitung. Weil gespeicherte Prozeduren vorkompiliert sind. Wenn eine gespeicherte Prozedur zum ersten Mal ausgeführt wird, wird die Abfrage vom Optimierer analysiert und optimiert und schließlich wird ein Ausführungsplan in der Systemtabelle gespeichert. Die Batch-Transaction-SQL-Anweisung muss bei jeder Ausführung kompiliert und optimiert werden, und die Geschwindigkeit ist relativ langsamer.
(4). Reduzieren Sie den Netzwerkverkehr: Wenn die an diesem Vorgang beteiligten Transaktions-SQL-Anweisungen bei Vorgängen für dasselbe Datenbankobjekt (z. B. Abfrage, Änderung) in gespeicherten Prozeduren organisiert sind, wird die gespeicherte Prozedur aufgerufen Client-Computer Während des Vorgangs wird nur die Anrufanweisung über das Netzwerk übertragen, wodurch der Netzwerkverkehr erheblich reduziert und die Netzwerklast verringert wird.
(5) Nutzen Sie ihn als Sicherheitsmechanismus voll aus: Durch die Einschränkung der Berechtigungen zur Ausführung eines bestimmten gespeicherten Prozesses können die Zugriffsberechtigungen auf die entsprechenden Daten eingeschränkt werden, wodurch der Zugriff unbefugter Benutzer auf die Daten verhindert und die Daten sichergestellt werden Sicherheit.
Gespeicherte MySQL-Prozeduren
Gespeicherte Prozeduren sind eine wichtige Funktion der Datenbank. MySQL 5.0 unterstützte zuvor keine gespeicherten Prozeduren, was die Anwendung von MySQL stark einschränkte. Glücklicherweise beginnt MySQL 5.0 mit der Unterstützung gespeicherter Prozeduren, was die Verarbeitungsgeschwindigkeit der Datenbank erheblich verbessern und auch die Flexibilität der Datenbankprogrammierung verbessern kann.
Erstellung gespeicherter MySQL-Prozeduren
Syntax
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体
Trennzeichen
MySQL verwendet standardmäßig „;“ als Trennzeichen, der Compiler behandelt die gespeicherte Prozedur als SQL-Anweisung Die Prozedur meldet einen Fehler, daher müssen Sie das aktuelle Segmenttrennzeichen im Voraus mit „DELIMITER //“ deklarieren, damit der Compiler den Inhalt zwischen den beiden „//“ als Code der gespeicherten Prozedur betrachtet und diese nicht ausführt codes; „DELIMITER ;“ bedeutet, das Trennzeichen wiederherzustellen.
Parameter
Die gespeicherte Prozedur kann je nach Bedarf über Eingabe-, Ausgabe-, Eingabe- und Ausgabeparameter verfügen. Wenn mehrere Parameter vorhanden sind, verwenden Sie ",", um sie zu trennen. Die Parameter gespeicherter MySQL-Prozeduren werden bei der Definition gespeicherter Prozeduren verwendet. Es gibt drei Parametertypen: IN, OUT, INOUT: Der Wert des Parameters muss beim Aufruf der gespeicherten Prozedur angegeben werden Die gespeicherte Prozedur kann nicht zurückgegeben werden. , ist der Standardwert.
OUT: Dieser Wert kann innerhalb der gespeicherten Prozedur geändert und zurückgegeben werden.
INOUT: Wird beim Aufruf angegeben und kann geändert und zurückgegeben werden und das Ende des Prozesskörpers mit BEGIN und END ist markiert.
Empfohlenes Lernen:
MySQL-Video-TutorialDas obige ist der detaillierte Inhalt vonWas ist die Syntax der gespeicherten MySQL-Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!