Die gespeicherte MySQL-Prozedur ist ein wiederverwendbares Datenbankprogramm, das eine Reihe von SQL-Anweisungen ausführen kann, um bestimmte Funktionen auszuführen. Im Vergleich zu einigen komplexen SQL-Anweisungen oder SQL-Anweisungen in Anwendungen besteht der Vorteil gespeicherter Prozeduren darin, dass sie die Betriebseffizienz und Sicherheit des Programms erheblich verbessern können.
Syntax
MySQL-gespeicherte Prozeduren werden mit der „CREATE PROCEDURE“-Anweisung definiert. Hier ist ein einfaches Beispiel:
CREATE PROCEDURE procedure_name ([IN/OUT] parameter_name data_type) BEGIN SQL statement; SQL statement; ... END
Die gespeicherte Prozeduranweisung beginnt mit „BEGIN“ und endet mit „END“, mit SQL-Anweisungen und Programmkontrollstrukturen in der Mitte. Parameter können Eingabe-, Ausgabe- oder Eingabe-Ausgabe-Modi sein.
Beispiel
Das Folgende ist ein Beispiel für eine gespeicherte Prozedur, die Informationen zur Mitarbeiterposition ausgibt:
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
In dieser gespeicherten Prozedur ist der Eingabeparameter emp_id und der Typ INT. Das Programm fragt die erforderlichen Daten ab und gibt den Namen, den Abteilungsnamen und die Berufsbezeichnung des Mitarbeiters aus.
Aufrufen einer gespeicherten Prozedur
Nachdem die gespeicherte Prozedur definiert wurde, kann sie mit der CALL-Anweisung aufgerufen werden. Hier ist ein einfaches Beispiel:
CALL procedure_name (parameter1, parameter2, ...);
Beispiel:
CALL employee_role(1001);
Dieser Aufruf gibt den Namen, den Abteilungsnamen und die Berufsbezeichnung aus des Mitarbeiters 1001 .
Eingabe-, Ausgabe-, Eingabe- und Ausgabeparameter
Eingabe-, Ausgabe- und Eingabe- und Ausgabeparameter können durch Hinzufügen der Parameterschlüsselwörter „IN“, „OUT“ und „INOUT“ definiert werden.
IN-Parameter beziehen sich auf die Eingabeparameter in der gespeicherten Prozedur, dh die Parameterwerte, die bei der Ausführung des Programms übergeben werden, unter Verwendung der folgenden Syntax:
CREATE PROCEDURE procedure_name(IN parameter1 data_type)
OUT-Parameter beziehen sich auf die Ausgabeparameter in der gespeicherten Prozedur. und ein gegebener Wert wird am Ende der gespeicherten Prozedur zurückgegeben. Die Syntax lautet wie folgt:
CREATE PROCEDURE procedure_name(OUT parameter1 data_type)
INOUT-Parameter beziehen sich auf Parameter, die sowohl durch Eingabe als auch Ausgabe geändert werden können, wobei die folgende Syntax verwendet wird:
CREATE PROCEDURE procedure_name(INOUT parameter1 data_type)
Schleifenstruktur
Gespeicherte MySQL-Prozeduren unterstützen eine Vielzahl von Schleifenstrukturen, einschließlich WHILE, REPEAT/UNTIL, LOOP und FOR. Unter diesen werden die Strukturen WHILE und REPEAT/UNTIL am häufigsten verwendet.
WHILE-Struktur:
WHILE condition DO statement(s); END WHILE;
REPEAT/UNTIL-Struktur:
REPEAT statement(s); UNTIL condition;
Die „Bedingung“ in der Schleifenanweisung ist ein logischer Ausdruck, solange die Bedingung wahr ist, wird die Schleife weiter ausgeführt.
Bedingte Anweisungen
Gespeicherte MySQL-Prozeduren unterstützen auch bedingte Anweisungen, einschließlich IF-, IF-ELSE- und CASE WHEN-Anweisungen. Hier ist ein Beispiel für eine einfache IF-Anweisung:
IF salary > 10000 THEN SET bonus = 500; ELSE SET bonus = 200; END IF;
Diese IF-Anweisung setzt die Bonusvariable auf 500 oder 200.
Zusammenfassung
Die gespeicherte MySQL-Prozedur ist ein wiederverwendbares Datenbankprogramm, mit dem eine Reihe von SQL-Anweisungen ausgeführt und bestimmte Funktionen ausgeführt werden. Gespeicherte Prozeduren können die Ausführungseffizienz und Sicherheit des Programms verbessern. Seine Syntax umfasst Definition, Aufruf, Eingabe- und Ausgabeparameter, Schleifenstruktur und bedingte Anweisungen usw. Das Erlernen gespeicherter MySQL-Prozeduren ist sehr nützlich, um die Programmiereffizienz zu verbessern und leistungsfähigere SQL-Abfrageanweisungen zu schreiben.
Das obige ist der detaillierte Inhalt vonMySQL-Anweisung für gespeicherte Prozeduren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!