Heim  >  Artikel  >  Datenbank  >  Wie ruft eine gespeicherte MySQL-Prozedur eine andere darin gespeicherte MySQL-Prozedur auf?

Wie ruft eine gespeicherte MySQL-Prozedur eine andere darin gespeicherte MySQL-Prozedur auf?

王林
王林nach vorne
2023-09-05 08:45:121204Durchsuche

Wie ruft eine gespeicherte MySQL-Prozedur eine andere darin gespeicherte MySQL-Prozedur auf?

Eine gespeicherte MySQL-Prozedur kann höchstwahrscheinlich eine andere darin gespeicherte MySQL-Prozedur aufrufen. Um dies zu veranschaulichen, nehmen wir ein Beispiel, bei dem eine gespeicherte Prozedur eine andere gespeicherte Prozedur aufruft, um last_insert_id herauszufinden.

Beispiel

mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))//
Query OK, 0 rows affected (3.87 sec)

mysql> Create Procedure insert1()
   -> BEGIN insert into employee.tbl(name) values ('Ram');
   -> END//
Query OK, 0 rows affected (0.10 sec)

Jetzt rufen wir in der nächsten Prozedur, insert2(), die erste gespeicherte Prozedur auf, nämlich insert1().

mysql> Create Procedure insert2()
   -> BEGIN
   -> CALL insert1();
   -> Select last_insert_id();
   -> END //
Query OK, 0 rows affected (0.11 sec)
mysql> Delimiter ;

mysql> Call insert2();
+------------------+
| last_insert_id() |
+------------------+
| 1                |
+------------------+
1 row in set (0.36 sec)
Query OK, 0 rows affected (0.37 sec)

Die obige Ergebnismenge zeigt, dass, wenn wir insert1() aufrufen, der erste Wert in die Tabelle mit dem Namen Employee.tbl eingefügt wird, und wenn wir insert2() in der zweiten gespeicherten Prozedur aufrufen, wenn last_insert_id() ausgewählt ist, wird Folgendes angezeigt Ausgang 1.

Das obige ist der detaillierte Inhalt vonWie ruft eine gespeicherte MySQL-Prozedur eine andere darin gespeicherte MySQL-Prozedur auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen