MySQL 存儲過程CASE語句用法
阿新 • • 發佈:2018-10-04
mysql 語法 並且 follow command express 條件語句 getc exp MySQL提供了一個替代的條件語句CASE。 MySQL CASE語句使代碼更加可讀和高效。
in p_customerNumber int(11),
out p_shiping varchar(50))
BEGIN
DECLARE customerCountry varchar(50); ELSE
SET p_shiping = ‘5-day Shipping‘;
END CASE;
CASE語句有兩種形式:簡單的搜索CASE語句。下面講講MySQL 存儲過程CASE語句用法。
1,CASE語法結構
CASE case_expression
WHEN when_expression_1 THEN commands
WHEN when_expression_2 THEN commands
...
ELSE commands
END CASE;
2,CASE應用實例
DELIMITER $$
CREATE PROCEDURE GetCustomerShipping(
out p_shiping varchar(50))
BEGIN
DECLARE customerCountry varchar(50);
SELECT country INTO customerCountry
FROM customers
WHERE customerNumber = p_customerNumber;
CASE customerCountry
WHEN ‘USA‘ THEN
SET p_shiping = ‘2-day Shipping‘;
WHEN ‘Canada‘ THEN
SET p_shiping = ‘3-day Shipping‘;
SET p_shiping = ‘5-day Shipping‘;
END CASE;
END$$
如果WHEN子句中的when_expression與case_expression的值匹配,則ELSE子句中的命令將被執行。ELSE子句是可選的。 如果省略ELSE子句,並且找不到匹配項,MySQL將引發錯誤。
文章來自 http://www.dc3688.com/
MySQL 存儲過程CASE語句用法