1. 程式人生 > >MySQL 存儲過程CASE語句用法

MySQL 存儲過程CASE語句用法

mysql 語法 並且 follow command express 條件語句 getc exp

MySQL提供了一個替代的條件語句CASE。 MySQL 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(

in p_customerNumber int(11),
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‘;

ELSE
SET p_shiping = ‘5-day Shipping‘;
END CASE;

END$$

如果WHEN子句中的when_expression與case_expression的值匹配,則ELSE子句中的命令將被執行。ELSE子句是可選的。 如果省略ELSE子句,並且找不到匹配項,MySQL將引發錯誤。

文章來自 http://www.dc3688.com/

MySQL 存儲過程CASE語句用法