Heim > Datenbank > MySQL-Tutorial > Hauptteil

Gespeicherte Prozeduren in MySQL

WBOY
Freigeben: 2023-05-18 16:27:08
Original
1089 Leute haben es durchsucht

MySQL ist eine häufig verwendete relationale Datenbank, in der gespeicherte Prozeduren eine sehr wichtige Funktion sind. Gespeicherte Prozeduren sind eine erweiterte Anwendung der SQL-Sprache. Sie kombinieren mehrere SQL-Anweisungen und verarbeiten sie als Einheit, um komplexe Operationen in der Datenbank durchzuführen.

Einführung in gespeicherte Prozeduren

Eine gespeicherte Prozedur ist eines der Datenbankobjekte, genau wie Tabellen, Ansichten, Indizes usw. Es handelt sich um eine Reihe vordefinierter SQL-Anweisungen. In MySQL ist eine gespeicherte Prozedur ein wiederverwendbarer Programmcode, der auf dem Client oder auf dem Datenbankserver ausgeführt werden kann.

Eigenschaften gespeicherter Prozeduren:

1. Kapselung

Gespeicherte Prozeduren können eine Reihe von SQL-Anweisungen in einer Funktion kombinieren, was die Kapselung und Sicherheit der Datenbank verbessert und einige fehlerhafte Vorgänge vermeidet.

2. Hohe Ausführungseffizienz

Die gespeicherte Prozedur wird beim Erstellen in Binärcode kompiliert. Bei der Ausführung wird der Binärcode direkt aufgerufen und die Ausführungseffizienz ist sehr hoch.

3. Wiederverwendbarkeit

Die gespeicherte Prozedur kann mehrfach aufgerufen werden, was die Wiederverwendbarkeit erhöht.

4. Leistungsstarke Funktion

Gespeicherte Prozedur ist eine erweiterte Anwendung der SQL-Sprache. Sie ist sehr leistungsfähig und kann komplexe Operationen der Datenbank realisieren.

Syntax der gespeicherten Prozedur

Definition der gespeicherten Prozedur

Die Definitionssyntax der gespeicherten Prozedur lautet wie folgt:

CREATE PROCEDURE procedure_name([Parameterliste])
BEGIN

存储过程主体内容
Nach dem Login kopieren
Nach dem Login kopieren

END;

Unter ihnen [Parameterliste] ist optional und bedeutet die für die gespeicherte Prozedur erforderlichen Eingabe- und Ausgabeparameter. Der Hauptinhalt der gespeicherten Prozedur ist eine Reihe von SQL-Anweisungen, die Kontrollflussanweisungen (z. B. IF, WHILE und LOOP usw.) enthalten und auch andere gespeicherte Prozeduren aufrufen können.

Parameter für gespeicherte Prozeduren

Gespeicherte Prozeduren können Eingabeparameter, Ausgabeparameter und Eingabe-/Ausgabeparameter haben. Eingabeparameter sind von außen übergebene Werte, die in der gespeicherten Prozedur verwendet werden. Ausgabeparameter werden in der gespeicherten Prozedur berechnet oder zugewiesen und nach Ausführung der gespeicherten Prozedur an den Aufrufer zurückgegeben. Für die bidirektionale Kommunikation werden Ein-/Ausgabeparameter verwendet.

Die Parametersyntax der gespeicherten Prozedur lautet wie folgt:

CREATE PROCEDURE procedure_name(IN|OUT|INOUT Parametername Parametertyp[,IN|OUT|INOUT Parametername Parametertyp...])
BEGIN

存储过程主体内容
Nach dem Login kopieren
Nach dem Login kopieren

END;

wobei Parametername ist Der Parametername, Parametertyp ist der Parametertyp, IN stellt den Eingabeparameter dar, OUT stellt den Ausgabeparameter dar und INOUT stellt den Eingabe-/Ausgabeparameter dar.

Aufruf einer gespeicherten Prozedur

Die Syntax des Aufrufs einer gespeicherten Prozedur lautet wie folgt:

CALL procedure_name([Parameterliste])

Dabei ist procedure_name der Name der gespeicherten Prozedur und die Parameterliste sind die erforderlichen Eingabeparameter durch die gespeicherte Prozedur.

Beispiel für eine gespeicherte Prozedur

Das Folgende ist ein einfaches Beispiel für die Erstellung einer gespeicherten Prozedur. Es erstellt eine gespeicherte Prozedur namens getUserInfo, die die Eingabe eines Benutzernamens erfordert und den Spitznamen des Benutzers zurückgibt:

DELIMITER $$
CREATE PROCEDURE getUserInfo(IN name VARCHAR (20), OUT Spitzname VARCHAR(20))
BEGIN

SELECT user_nickname INTO nickname FROM user WHERE user_name=name;
Nach dem Login kopieren

END $$
DELIMITER ;

Diese gespeicherte Prozedur hat zwei Parameter: Name ist der Eingabeparameter, der den Benutzernamen der Abfrage angibt; Spitzname ist der Ausgabeparameter , der den Spitznamen des Benutzers angibt. Der Hauptinhalt der gespeicherten Prozedur ist eine SELECT-Anweisung, die die Benutzertabelle nach qualifizierten Benutzer-Spitznamen abfragt und diese dem Spitznamen zuweist.

Aufruf der gespeicherten Prozedur:

CALL getUserInfo('jack', @nickname);
SELECT @nickname;

Der obige Code ruft die gespeicherte Prozedur getUserInfo mit dem Parameter 'jack' auf und weist das Abfrageergebnis dem @nickname zu Variable und geben Sie die @nickname-Variable aus.

Zusammenfassung gespeicherter Prozeduren

Gespeicherte Prozeduren sind eine wichtige Funktion von MySQL, die uns helfen kann, Datenbankoperationen besser zu implementieren. Durch gespeicherte Prozeduren können wir mehrere SQL-Anweisungen zu einer Einheit kombinieren, um die Kapselung und Sicherheit von Vorgängen zu verbessern. Es verbessert außerdem die Abfrageeffizienz und erhöht die Wiederverwendbarkeit und Skalierbarkeit. In praktischen Anwendungen können gespeicherte Prozeduren verwendet werden, um einige komplexe Geschäftsanforderungen wie Datenimport, Datenkonvertierung, Berechnung usw. zu bewältigen. Im Vergleich zu herkömmlichen SQL-Anweisungen sind gespeicherte Prozeduren bequemer und zuverlässiger und ein unverzichtbarer Bestandteil der Datenbankentwicklung.

Das obige ist der detaillierte Inhalt vonGespeicherte Prozeduren in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage