Bạn có thể sử dụng câu lệnh if trong một thủ tục được lưu trữ với nhiều điều kiện với sự trợ giúp của toán tử AND hoặc OR. Cú pháp như sau -
DECLARE X int; DECLARE Y int; SET X = value1; SET Y = value2; IF ( (X < Y AND X > value1 AND Y >value2) OR X! = anyValueToCompare) THEN yourStatement; ELSE yourStatement; END IF
Bây giờ để hiểu cú pháp trên, chúng ta hãy tạo một thủ tục được lưu trữ. Truy vấn để tạo một thủ tục được lưu trữ như sau -
mysql> create procedure SP_IFELSEDEMO() -> BEGIN -> DECLARE X int; -> DECLARE Y int; -> SET X=100; -> SET Y=400; -> IF ( (X < Y AND X > 99 AND Y >300) OR X! = 10 ) THEN -> SELECT 'Logic is Correct'; -> ELSE -> SELECT 'Logic is not Correct'; -> END IF; -> END; -> // Query OK, 0 rows affected (0.27 sec) mysql> DELIMITER ;
Bây giờ hãy gọi thủ tục đã lưu trữ với sự trợ giúp của lệnh CALL. Truy vấn như sau -
mysql> call SP_IF ELSEDEMO();
Đầu ra
+------------------+ | Logic is Correct | +------------------+ | Logic is Correct | +------------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.07 sec)