ตอนที่ 8 : การใช้ IF....ELSE... สร้างเงื่อนไข (MySQL : Stored Procedure) ในหัวข้อนี้เราจะมาเรียนรู้การใช้งาน IF บน MySQL Stored Procedure เพราะคำสั่งนี้เป็นการสร้างเงื่อนไขในการทำงานที่ได้ค่ามาจาก Parameters และ Variable และมันค่อนข้างจะมีความจำเป็นและสำคัญมากในการเขียน Stored และ สามารถนำคำสั่ง If ไปประยุกต์การใช้งานได้หลากหลายในทุก ๆ ส่วนของการเขียน Stored Procedure โดยเราสามารถแบ่งการใช้งาน If ออกเป็น 3 รูปแบบย่อย ๆ คือ
IF
IF... ELSEIF...
IF... ELSE IF...ELSE
โครงสร้างของตาราง customer และ country
Table : customer
Table : country
IF Syntax
IF if_expression THEN
# Statement 1
ELSEIF elseif_expression THEN
# Statement 2
ELSE
# Statement 3
END IF;
Example : ตัวอย่างการใช้ IF...ELSEIF... ELSE ในรูปแบบที่ง่าย ๆ บน MySQL Store Procedure
DROP PROCEDURE IF EXISTS getCustomer;
DELIMITER //
CREATE PROCEDURE getCustomer(IN pType VARCHAR(1))
BEGIN
IF pType = "1 "THEN
SELECT A.CUSTOMER_ID, A.NAME, A.EMAIL, B.COUNTRY_NAME FROM customer A
LEFT JOIN country B ON A.COUNTRY_CODE = B.COUNTRY_CODE
WHERE A.COUNTRY_CODE = 'TH';
ELSEIF pType = "2" THEN
SELECT A.CUSTOMER_ID, A.NAME, A.EMAIL, B.COUNTRY_NAME FROM customer A
LEFT JOIN country B ON A.COUNTRY_CODE = B.COUNTRY_CODE
WHERE A.COUNTRY_CODE = 'US';
ELSE
SELECT A.CUSTOMER_ID, A.NAME, A.EMAIL, B.COUNTRY_NAME FROM customer A
LEFT JOIN country B ON A.COUNTRY_CODE = B.COUNTRY_CODE
WHERE A.COUNTRY_CODE = 'UK';
END IF;
END //
DELIMITER ;