首頁  >  文章  >  資料庫  >  mysql預存程序中的if怎麼使用

mysql預存程序中的if怎麼使用

WBOY
WBOY原創
2022-01-12 10:49:288671瀏覽

在mysql中,if語句用於根據表達式的某個條件或值結果來執行一組SQL語句,語法為「IF expression THEN statements;END IF;」;當表達式計算結果為TRUE時,將執行statements語句。

mysql預存程序中的if怎麼使用

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql預存程序中的if怎麼使用

#MySQL IF語句允許您根據表達式的某個條件或值結果來執行一組SQL語句。要在MySQL中形成一個表達式,可以結合文字,變量,運算符,甚至函數來組合。表達式可以傳回TRUE,FALSE或NULL,這三個值之一。

MySQL IF語句語法

下面說明了IF語句的語法:

IF expression THEN 
   statements;
END IF;

如果表達式(expression)計算結果為TRUE,那麼將執行statements語句,否則控制流程將傳遞到END IF之後的下一個語句。

以下流程圖示範了IF語句的執行過程:

mysql預存程序中的if怎麼使用

#MySQL IF ELSE語句

##如果表達式計算結果為FALSE時執行語句,請使用IF ELSE語句,如下所示:

IF expression THEN
   statements;
ELSE
   else-statements;
END IF;

以下流程圖說明了IF ELSE語句的執行程序:

mysql預存程序中的if怎麼使用

MySQL IF ELSEIF ELSE語句

如果要基於多個表達式有條件地執行語句,則使用IF ELSEIF ELSE語句如下: 

IF expression THEN
   statements;
ELSEIF elseif-expression THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;

如果表達式式(expression)求值為TRUE,則IF分支中的語句(statements)將執行;如果表達式求值為FALSE,則如果elseif_expression的計算結果為TRUE,MySQL將執行elseif-expression,否則執行ELSE分支中的else-statements語句。具體流程如下

mysql預存程序中的if怎麼使用

MySQL IF語句範例

以下範例說明如何使用IF ESLEIF ELSE語句,GetCustomerLevel()儲存程序接受客戶編號和客戶等級的兩個參數。

首先,它從customers表中獲得信用額度

然後,根據信用額度,它決定客戶等級:PLATINUM , GOLD 和 SILVER 。

參數p_customerlevel儲存客戶的級別,並由呼叫程式使用。

USE yiibaidb;
DELIMITER $$
CREATE PROCEDURE GetCustomerLevel(
    in  p_customerNumber int(11), 
    out p_customerLevel  varchar(10))
BEGIN
    DECLARE creditlim double;
    SELECT creditlimit INTO creditlim
    FROM customers
    WHERE customerNumber = p_customerNumber;
    IF creditlim > 50000 THEN
 SET p_customerLevel = 'PLATINUM';
    ELSEIF (creditlim <= 50000 AND creditlim >= 10000) THEN
        SET p_customerLevel = &#39;GOLD&#39;;
    ELSEIF creditlim < 10000 THEN
        SET p_customerLevel = &#39;SILVER&#39;;
    END IF;
END$$

以下流程圖示範了確定客戶層級的邏輯

mysql預存程序中的if怎麼使用

#推薦學習:

mysql影片教學#

以上是mysql預存程序中的if怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn