Header Ads Widget

Các mệnh đề điều kiện trong Stored Procedures


Mệnh đề điều kiện cho phép bạn thực thi các đoạn mã (code) dựa trên giá trị của một hoặc nhiều biểu thức logic kết hợp. MySQL hỗ trợ 2 mệnh đề điều kiện là IF và CASE.

Mệnh đề IF

Cú pháp của mệnh đề IF:

Mã:
IF expression THEN commands
 [ELSEIF expression THEN commands]
 [ELSE commands]
 END IF;
Các lệnh nằm trong khối IF, ELSEIF hoặc ELSE chỉ được thực thi khi mệnh đề có chân trị là TRUE. Một trong những cái "bẫy" hay mắc phải là biểu thức của mệnh đề IF có giá trị NULL, khi 1 biểu thức logic có giá trị NULL, nó không được xem là TRUE hay FALSE. Dưới đây là 1 số ví dụ của mệnh đề IF:

Mã:
IF expression THEN commands
 END IF;
IF expression THEN commands
 ELSE commands
 END IF;
IF expression THEN commands
 ELSEIF expression THEN commands
 ELSE commands
 END IF;
Bạn có thể thấy các mệnh đề IF có thể lồng vào nhau.

Mệnh đề CASE

Khi có nhiều biểu thức logic được sử dụng với mệnh đề IF, mã chương trình của bạn sẽ rất khó đọc. Trong tình huống này, bạn có thể sử dụng mệnh đề CASE để làm cho chương trình trông sáng sủa hơn.

Cú pháp của mệnh đề CASE:

Mã:
CASE
 WHEN expression THEN commands
 …
 WHEN expression THEN commands
 ELSE commands
 END CASE;

Nhận xét