Tóm tắt
Bài viết trình bày cách sử dụng câu lệnh IF trong stored procedure với nhiều điều kiện kết hợp bằng toán tử AND và OR.
Cú pháp cơ bản
DECLARE x INT;
DECLARE y INT;
SET x = gia_tri_1;
SET y = gia_tri_2;
IF ((x < y AND x > gia_tri_3 AND y > gia_tri_4) OR x != gia_tri_5) THEN
-- câu lệnh khi đúng
ELSE
-- câu lệnh khi sai
END IF;
Ví dụ hoàn chỉnh: Tạo stored procedure
DELIMITER //
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 //
DELIMITER ;
Gọi thủ tục
CALL SP_IFELSEDEMO();
Kết quả
+------------------+
| Logic is Correct |
+------------------+
| Logic is Correct |
+------------------+
Giải thích logic
X < Y: 100 < 400 → TRUEX > 99: 100 > 99 → TRUEY > 300: 400 > 300 → TRUE- Cả ba điều kiện AND cùng TRUE → TRUE
X != 10: 100 != 10 → TRUE- TRUE OR TRUE → TRUE → thực hiện nhánh THEN
Lưu ý tốt
- Luôn dùng dấu ngoặc đơn để nhóm điều kiện rõ ràng.
- Tránh lồng quá nhiều IF, hãy dùng
CASEnếu logic phức tạp. - Stored procedure cần
DELIMITERkhi định nghĩa.