共計 1671 個字符,預(yù)計需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章主要介紹了如何使用 mysql 存儲過程中的 if,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
在 mysql 中,if 語句用于根據(jù)表達(dá)式的某個條件或值結(jié)果來執(zhí)行一組 SQL 語句,語法為“IF expression THEN statements;END IF;”;當(dāng)表達(dá)式計算結(jié)果為 TRUE 時,將執(zhí)行 statements 語句。
本教程操作環(huán)境:windows10 系統(tǒng)、mysql8.0.22 版本、Dell G3 電腦。
MySQL IF 語句允許您根據(jù)表達(dá)式的某個條件或值結(jié)果來執(zhí)行一組 SQL 語句。要在 MySQL 中形成一個表達(dá)式,可以結(jié)合文字,變量,運(yùn)算符,甚至函數(shù)來組合。表達(dá)式可以返回 TRUE,FALSE 或 NULL,這三個值之一。
MySQL IF 語句語法
下面說明了 IF 語句的語法:
IF expression THEN
statements;
END IF;
如果表達(dá)式 (expression) 計算結(jié)果為 TRUE,那么將執(zhí)行 statements 語句,否則控制流將傳遞到 END IF 之后的下一個語句。
以下流程圖演示了 IF 語句的執(zhí)行過程:
MySQL IF ELSE 語句
如果表達(dá)式計算結(jié)果為 FALSE 時執(zhí)行語句,請使用 IF ELSE 語句,如下所示:
IF expression THEN
statements;
else-statements;
END IF;
以下流程圖說明了 IF ELSE 語句的執(zhí)行過程:
MySQL IF ELSEIF ELSE 語句
如果要基于多個表達(dá)式有條件地執(zhí)行語句,則使用 IF ELSEIF ELSE 語句如下:
IF expression THEN
statements;
ELSEIF elseif-expression THEN
elseif-statements;
else-statements;
END IF;
如果表達(dá)式 (expression) 求值為 TRUE,則 IF 分支中的語句 (statements) 將執(zhí)行;如果表達(dá)式求值為 FALSE,則如果 elseif_expression 的計算結(jié)果為 TRUE,MySQL 將執(zhí)行 elseif-expression,否則執(zhí)行 ELSE 分支中的 else-statements 語句。具體流程如下
MySQL IF 語句示例
以下示例說明如何使用 IF ESLEIF ELSE 語句,GetCustomerLevel()存儲過程接受客戶編號和客戶級別的兩個參數(shù)。
首先,它從 customers 表中獲得信用額度
然后,根據(jù)信用額度,它決定客戶級別:PLATINUM , GOLD 和 SILVER。
參數(shù) p_customerlevel 存儲客戶的級別,并由調(diào)用程序使用。
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 = GOLD
ELSEIF creditlim 10000 THEN
SET p_customerLevel = SILVER
END IF;
END$$
以下流程圖演示了確定客戶級別的邏輯
感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何使用 mysql 存儲過程中的 if”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!