Heim  >  Artikel  >  Datenbank  >  Führen Sie die gespeicherte MySQL-Prozedur aus

Führen Sie die gespeicherte MySQL-Prozedur aus

王林
王林Original
2023-05-08 21:04:362772Durchsuche

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;

Um diese gespeicherte Prozedur auszuführen, können Sie Verwenden Sie die folgende Anweisung:

EXEC double_salary('Sales');

Dadurch wird das Gehalt aller Mitarbeiter in der Vertriebsabteilung verdoppelt.

Schritt 3: Löschen Sie die gespeicherte Prozedur

Wenn die gespeicherte Prozedur nicht mehr benötigt wird, können Sie sie mit der DROP PROCEDURE-Anweisung löschen. Die Syntax lautet wie folgt:

DROP PROCEDURE sp_name;

wobei sp_name der Name der gespeicherten Prozedur ist, die gelöscht werden soll.

Zusammenfassung

Die gespeicherte MySQL-Prozedur ist ein sehr leistungsfähiges Tool zur Entwicklung von Datenbankanwendungen, das die Codierungs- und Debugging-Arbeit erheblich vereinfachen kann. Durch die Definition gespeicherter Prozeduren kann SQL-Code in Funktionen oder Prozeduren gekapselt werden, wodurch der Arbeitsaufwand für das wiederholte Schreiben von SQL-Anweisungen verringert und die Wiederverwendbarkeit und Wartbarkeit des Codes verbessert wird. Daher ist es für Entwickler mit bestimmten MySQL-Kenntnissen sehr wichtig, die Verwendung gespeicherter Prozeduren zu beherrschen.

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!

Stellungnahme:
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
Vorheriger Artikel:MySQL-DatenbankeinstellungenNächster Artikel:MySQL-Datenbankeinstellungen