Heim > Datenbank > MySQL-Tutorial > MySQL-Anweisung für gespeicherte Prozeduren

MySQL-Anweisung für gespeicherte Prozeduren

PHPz
Freigeben: 2023-05-20 12:12:08
Original
770 Leute haben es durchsucht

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
Nach dem Login kopieren
  • procedure_name: Der Name der gespeicherten Prozedur.
  • Parametername: Der Eingabe- und Ausgabeparametername der gespeicherten Prozedur. Datentyp bezieht sich auf den Datentyp.
  • SQL-Anweisung: Das ausgeführte SQL-Anweisungssegment, das Kontrollstrukturen enthalten kann.

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
Nach dem Login kopieren

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, ...);
Nach dem Login kopieren

Beispiel:

CALL employee_role(1001);
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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;
Nach dem Login kopieren

REPEAT/UNTIL-Struktur:

REPEAT
   statement(s);
UNTIL condition;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

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