MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem. Im Vergleich zu anderen relationalen Datenbankverwaltungssystemen ist MySQL eines der am häufigsten verwendeten Systeme. MySQL kann über gespeicherte Prozeduren komplexe Datenverarbeitung und Geschäftslogik durchführen und so die Leistung und Effizienz der Datenbank verbessern. Im Folgenden wird beschrieben, wie gespeicherte MySQL-Prozeduren ausgeführt werden.
In MySQL können Sie die Anweisung „CREATE PROCEDURE“ verwenden, um gespeicherte Prozeduren zu erstellen. Die Syntax lautet wie folgt:
CREATE PROCEDURE procedure_name ([IN / OUT / INOUT] parameter_name data_type, [...]) BEGIN -- 存储过程体 END;
Wobei:
CREATE PROCEDURE hello_world() BEGIN SELECT 'Hello, World!'; END;Wobei:
CALL procedure_name([parameter_value, ...]);Das Ausführungsergebnis lautet wie folgt:
CALL hello_world();
+-------------+ | Hello, World! | +-------------+ | Hello, World! | +-------------+ 1 row in set (0.00 sec)Beim Ausführen der gespeicherten Prozedur müssen wir eine Benutzer-ID an die gespeicherte Prozedur übergeben. Hier ist zum Beispiel ein Beispiel:
CREATE PROCEDURE get_user_details(IN user_id INT) BEGIN SELECT * FROM users WHERE id = user_id; END;Das Ausführungsergebnis lautet wie folgt:
CALL get_user_details(1);
+----+----------+---------+------------+ | id | username | country | created_at | +----+----------+---------+------------+ | 1 | john | USA | 2022-05-01 | +----+----------+---------+------------+ 1 row in set (0.00 sec)Beim Ausführen dieser gespeicherten Prozedur müssen wir eine Benutzer-ID übergeben, und die gespeicherte Prozedur gibt die Details des entsprechenden Benutzers zurück dieser Ausweis. Hier ist zum Beispiel ein Beispiel:
CREATE PROCEDURE get_user_details(IN user_id INT, OUT username TEXT, OUT country TEXT, OUT created_at DATE) BEGIN SELECT username, country, created_at INTO username, country, created_at FROM users WHERE id = user_id; END;Das Ausführungsergebnis ist wie folgt:
CALL get_user_details(1, @username, @country, @created_at); SELECT @username, @country, @created_at;
+----------+---------+------------+ | @username | @country | @created_at | +----------+---------+------------+ | john | USA | 2022-05-01 | +----------+---------+------------+ 1 row in set (0.00 sec)Während der Ausführung dieser gespeicherten Prozedur müssen wir eine Benutzer-ID und die zu aktualisierenden Details übergeben. Hier ist beispielsweise ein Beispiel:
CREATE PROCEDURE update_user_details(INOUT user_id INT, IN username TEXT, IN country TEXT, IN created_at DATE) BEGIN UPDATE users SET username = username, country = country, created_at = created_at WHERE id = user_id; END;Das Ausführungsergebnis lautet wie folgt:
SET @user_id = 1; CALL update_user_details(@user_id, 'jane', 'UK', '2022-05-01'); SELECT @user_id;
Das obige ist der detaillierte Inhalt vonAusführung einer gespeicherten MySQL-Prozedur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!