Eine gespeicherte Prozedur kann im Kontext einer regulären Computersprache als eine unterprogrammähnliche Unterroutine definiert werden, die in einer Datenbank gespeichert ist. Im Kontext von MySQL handelt es sich um eine deklarative SQL-Anweisung, die im Datenbankverzeichnis gespeichert ist. Bevor wir gespeicherte Prozeduren in MySQL schreiben, müssen wir die Version überprüfen, da MySQL 5 gespeicherte Prozeduren eingeführt hat. Im Folgenden finden Sie die Syntax zum Erstellen einer gespeicherten Prozedur:
CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type type: Any valid MySQL data type characteristic: COMMENT 'string' | LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } routine_body: Valid SQL routine statement
Hier ist ein Beispiel, in dem wir eine einfache Prozedur erstellt haben, um alle Datensätze aus der Tabelle „student_info“ abzurufen, die die folgenden Daten enthalten –
mysql> select * from student_info; +-----+---------+------------+------------+ | id | Name | Address | Subject | +-----+---------+------------+------------+ | 100 | Aarav | Delhi | Computers | | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 110 | Rahul | Chandigarh | History | +------+--------+------------+------------+ 4 rows in set (0.00 sec)
Jetzt Mit der folgenden Abfrage haben wir eine gespeicherte Prozedur namens allrecords()
mysql> Delimiter // mysql> Create Procedure allrecords() -> BEGIN -> Select * from Student_info; -> END// Query OK, 0 rows affected (0.02 sec) mysql> DELIMITER ;
Das obige ist der detaillierte Inhalt vonWas ist eine gespeicherte Prozedur und wie erstellen wir eine gespeicherte MySQL-Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!