Heim >Datenbank >MySQL-Tutorial >Führen Sie die gespeicherte MySQL-Prozedur aus
Gespeicherte MySQL-Prozedur ausführen
Die gespeicherte MySQL-Prozedur ist eine Reihe von SQL-Anweisungen, die vorkompiliert und auf dem Server gespeichert werden. Sie können Eingabeparameter akzeptieren und Ausgabeparameter zurückgeben oder SQL-Abfragen ausführen und Ergebnismengen erzeugen. Das Ausführen gespeicherter MySQL-Prozeduren kann den Entwicklungsprozess von Datenbankanwendungen erheblich vereinfachen und die Effizienz der Datenverwaltung verbessern. Nachfolgend finden Sie die Schritte zum Ausführen einer gespeicherten MySQL-Prozedur.
Schritt 1: Erstellen Sie eine gespeicherte Prozedur.
In MySQL können Sie die Anweisung „create procedure“ verwenden, um eine gespeicherte Prozedur zu erstellen. Die Syntax lautet wie folgt:
CREATE [DEFINER = { user |. CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
Wobei DEFINER den Benutzernamen des Erstellers der gespeicherten Prozedur angibt. Wenn DEFIER nicht angegeben ist, wird standardmäßig der aktuelle Benutzer verwendet. sp_name ist der Name der gespeicherten Prozedur und proc_parameter gibt die Eingabe- und Ausgabeparameter der gespeicherten Prozedur an. Zu den Merkmalen gehören die Attribute der gespeicherten Prozedur, z. B. Sprachtyp, Datenänderungsmethode usw. routine_body ist eine Sammlung von SQL-Anweisungen, die von der gespeicherten Prozedur ausgeführt werden.
Erstellen Sie beispielsweise eine einfache gespeicherte MySQL-Prozedur, um die Informationen eines bestimmten Mitarbeiters abzufragen. Es erfordert eine Mitarbeiter-ID als Eingabeparameter und gibt Informationen wie den Namen des Mitarbeiters, den Namen der Abteilung und das Gehalt zurück. Die DDL-Anweisung lautet wie folgt:
CREATE PROCEDURE get_employee_info(IN employee_info(IN emp_id INT)
BEGIN
SELECT emp_name, dept_name, Salär
FROM Mitarbeiter, Abteilungen
WHERE Mitarbeiter. emp_id = emp_id AND
departments.dept_id = Mitarbeiter.dept_id;
END;
In diesem Beispiel definieren wir einen Eingabeparameter emp_id, der zur Angabe der verwendet wird query Die Mitarbeiter-ID der Nachricht. Die gespeicherte Prozedur fragt mithilfe einer SQL-SELECT-Anweisung Informationen wie Name, Abteilungsname und Gehalt ab und gibt sie an den Aufrufer zurück.
Schritt 2: Führen Sie die gespeicherte Prozedur aus.
Um die gespeicherte MySQL-Prozedur auszuführen, können Sie die CALL-Anweisung verwenden. Die Syntax lautet wie folgt:
CALL sp_name(argument_list);
wobei sp_name der Name der gespeicherten Prozedur und argument_list die an die gespeicherte Prozedur übergebene Parameterliste ist. In unserem Beispiel kann die folgende Anweisung verwendet werden, um die gespeicherte Prozedur auszuführen:
CALL get_employee_info(1001);
Dadurch werden die Informationen für den Mitarbeiter mit der Mitarbeiter-ID 1001 abgefragt und Geben Sie Informationen wie Name, Abteilungsname und Gehalt an den Anrufer zurück.
Wenn die gespeicherte Prozedur einfach einige SQL-Anweisungen ausführt, ohne Ergebnisse zurückzugeben, können Sie die folgende Syntax verwenden, um die gespeicherte Prozedur auszuführen:
EXEC sp_name;
#🎜 🎜#Im Folgenden finden Sie beispielsweise eine einfache gespeicherte MySQL-Prozedur zur Verdoppelung des Gehalts von Mitarbeitern in einer bestimmten Abteilung. Dazu wird die UPDATE-Anweisung verwendet, die keine Ergebnisse zurückgibt: CREATE PROCEDURE double_salary(IN dept_name VARCHAR(50))BEGIN
UPDATE Mitarbeiter, Abteilungen
SET Gehalt = Gehalt * 2
WHERE Mitarbeiter.dept_id = Abteilungen.Abteilung_ID UND
Abteilungen.dept_name = Abteilungsname;
END;
Das obige ist der detaillierte Inhalt vonFühren Sie die gespeicherte MySQL-Prozedur aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!