透過 IF 邏輯在儲存過程中呼叫儲存過程?
要在儲存過程中呼叫儲存過程,語法如下所示
If yourInputValue > 100 then call yourProcedureName1(); else call yourProcedureName2(); end If ; END
讓我們實現上述語法。為了實現上述概念,讓我們建立一個儲存過程 -
mysql> delimiter // mysql> create procedure Hello_Stored_Procedure() -> BEGIN -> select 'Hello World!!!'; -> END -> // Query OK, 0 rows affected (0.18 sec)
建立第二個儲存過程的查詢如下 -
mysql> create procedure Hi_Stored_Procedure() -> BEGIN -> select 'Hi!!!'; -> END -> // Query OK, 0 rows affected (0.17 sec)
以下是使用 IF 邏輯在儲存過程中呼叫儲存過程的查詢 -
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)
現在可以透過 call 呼叫儲存過程 -
mysql> delimiter ; mysql> call test(110);
這將產生以下輸出 -
+----------------+ | Hello World!!! | +----------------+ | Hello World!!! | +----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.02 sec)
廣告