
Um eine gespeicherte Prozedur innerhalb einer gespeicherten Prozedur aufzurufen, lautet die Syntax wie folgt:
1 2 3 4 5 6 | If yourInputValue > 100 then
call yourProcedureName1();
else
call yourProcedureName2();
end If ;
END
|
Nach dem Login kopieren
Lassen Sie uns die obige Syntax implementieren. Um das obige Konzept umzusetzen, erstellen wir eine gespeicherte Prozedur –
1 2 3 4 5 6 7 | mysql> delimiter
mysql> create procedure Hello_Stored_Procedure()
-> BEGIN
-> select 'Hello World!!!';
-> END
->
Query OK, 0 rows affected (0.18 sec)
|
Nach dem Login kopieren
Die Abfrage zum Erstellen der zweiten gespeicherten Prozedur lautet wie folgt –
1 2 3 4 5 6 | mysql> create procedure Hi_Stored_Procedure()
-> BEGIN
-> select 'Hi!!!';
-> END
->
Query OK, 0 rows affected (0.17 sec)
|
Nach dem Login kopieren
Hier ist die Abfrage zum Aufrufen der gespeicherten Prozedur innerhalb der gespeicherten Prozedur mithilfe der IF-Logik –
1 2 3 4 5 6 7 8 9 10 11 | mysql> DELIMITER
mysql> create procedure test(IN input int)
-> BEGIN
-> If input > 100 then
-> call Hello_Stored_Procedure();
-> else
-> call Hi_Stored_Procedure();
-> end If ;
-> END
->
Query OK, 0 rows affected (0.18 sec)
|
Nach dem Login kopieren
Jetzt können Sie mithilfe von call die gespeicherte Prozedur aufrufen –
1 2 | mysql> delimiter ;
mysql> call test(110);
|
Nach dem Login kopieren
Dadurch wird die folgende Ausgabe erzeugt –
1 2 3 4 5 6 7 | +----------------+
| Hello World!!! |
+----------------+
| Hello World!!! |
+----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
|
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonVerwenden Sie IF-Logik, um eine gespeicherte Prozedur innerhalb einer gespeicherten Prozedur aufzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!