Vòng lặp và câu lệnh có điều kiện trong MariaDB

Tiếp theo phần tìm hiểu về MariaDB thì Team Việt Dev sẽ giải thích cách sử dụng vòng lặp và câu lệnh có điều kiện trong MariaDB với cú pháp và ví dụ minh họa trực quan sao cho dễ hiểu nhất.

Phần sau tổng hợp các câu lệnh truy vấn cơ bản trong MariaDB như lệnh mệnh đề DISTINCT, mệnh đề LIKE, mệnh đề ORDER BY, mệnh đề GROUP BY và mệnh đề ALIASES.

Vòng lặp và câu lệnh có điều kiện trong MariaDB

1. Lệnh IF-THEN-ELSE trong MariaDB

Trong MariaDB thì câu lệnh IF-THEN-ELSE được sử dụng để thực thi mã khi một điều kiện là TRUE hoặc thực thi mã khác nếu điều kiện đánh giá là FALSE.

Cú pháp cho câu lệnh IF-THEN-ELSE trong MariaDB là:

IF condition1 THEN
   {...statements to execute when condition1 is TRUE...}

[ ELSEIF condition2 THEN
   {...statements to execute when condition2 is TRUE...} ]

[ ELSE
   {...statements to execute when both condition1 and condition2 are FALSE...} ]

END IF;

Ví dụ sử dụng câu lệnh IF-THEN-ELSE trong MariaDB:

DELIMITER //

CREATE FUNCTION PageCount ( value INT )
RETURNS varchar(10) DETERMINISTIC

BEGIN

   DECLARE level varchar(20);

   IF value < 500 THEN
      SET level = 'Low';

   ELSEIF value >= 500 AND value <= 4000 THEN
      SET level = 'Medium';

   ELSE
      SET level = 'High';

   END IF;

   RETURN level;

END; //

DELIMITER ;

2. Lệnh CASE trong MariaDB

Trong MariaDB thì câu lệnh CASE có chức năng giống câu lệnh IF-THEN-ELSE và dùng để rẻ nhánh dòng xử lý nếu trường hợp nào đúng thì sẽ thực thi và thoát khỏi lệnh CASE.

Cú pháp cho câu lệnh CASE trong MariaDB là:

CASE expression

   WHEN value_1 THEN 
     {...statements to execute when expression equals value_1...}
  [ WHEN value_2 THEN
     {...statements to execute when expression equals value_2...} ]
  [ WHEN value_n THEN result_n
     {...statements to execute when expression equals value_n...} ]

  [ ELSE 
     {...statements to execute when no values matched...} ]

END CASE;

Ví dụ sử dụng câu lệnh CASE trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcLevel ( value INT )
RETURNS varchar(20) DETERMINISTIC

BEGIN

   DECLARE level varchar(20);

   CASE value
       WHEN 4000 THEN
        SET level = 'Low';

      WHEN 5000 THEN
        SET level = 'Medium';

      ELSE
        SET level = 'Other';
   END CASE;

   RETURN level;

END; //

DELIMITER ;

3. Lệnh LOOP trong MariaDB

Trong MariaDB thì câu lệnh LOOP được sử dụng tạo vòng lặp thực thi nhằm xác định dữ liệu để thỏa mãn điều kiện.

Cú pháp cho câu lệnh LOOP trong MariaDB là:

[ label_name: ] LOOP
   {...statements...}
END LOOP [ label_name ];

Ví dụ sử dụng câu lệnh LOOP trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE total_value INT;

   SET total_value = 0;

   label1: LOOP
     SET total_value = total_value + starting_value;
     IF total_value < 850 THEN
       ITERATE label1;
     END IF;
     LEAVE label1;
   END LOOP label1;

   RETURN total_value;

END; //

DELIMITER ;

4. Lệnh WHILE trong MariaDB

Trong MariaDB thì câu lệnh WHILE được sử dụng tạo vòng lặp thực thi nhằm xác định dữ liệu để thỏa mãn điều kiện.

Cú pháp cho câu lệnh WHILE trong MariaDB là:

[ label_name: ] WHILE condition DO
   {...statements...}
END WHILE [ label_name ];

Ví dụ sử dụng câu lệnh WHILE trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE total_value INT;

   SET total_value = 0;

   label1: WHILE total_value <= 999 DO
     SET total_value = total_value + starting_value;
   END WHILE label1;

   RETURN total_value;

END; //

DELIMITER ;

5. Lệnh REPEAT trong MariaDB

Trong MariaDB thì câu lệnh REPEAT được sử dụng tạo vòng lặp thực thi nhằm xác định dữ liệu để thỏa mãn điều kiện.

Cú pháp cho câu lệnh REPEAT trong MariaDB là:

[ label_name: ] REPEAT
   {...statements...}
UNTIL condition
END REPEAT [ label_name ];

Ví dụ sử dụng câu lệnh REPEAT trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE total_value INT;

   SET total_value = 0;

   label1: REPEAT
     SET total_value = total_value + starting_value;
   UNTIL total_value >= 999 
   END REPEAT label1;

   RETURN total_value;

END; //

DELIMITER ;

6. Lệnh LEAVE trong MariaDB

Trong MariaDB thì câu lệnh LEAVE được sử dụng khi bạn muốn thoát khỏi một khối mã chẳng hạn như câu lệnh LOOP, câu lệnh WHILE hoặc REPEAT.

Cú pháp cho câu lệnh LEAVE trong MariaDB là:

LEAVE label_name;

Ví dụ sử dụng câu lệnh LEAVE trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE total_value INT;

   SET total_value = 0;

   label1: LOOP
     SET total_value = total_value + starting_value;
     IF total_value < 999 THEN
       ITERATE label1;
     END IF;
     LEAVE label1;
   END LOOP label1;

   RETURN total_value;

END; //

DELIMITER ;

7. Lệnh RETURN trong MariaDB

Trong MariaDB thì câu lệnh RETURN được sử dụng khi bạn muốn thoát khỏi một hàm và trả về kết quả của hàm. Nó cũng có thể được sử dụng để chấm dứt vòng lặp LOOP và sau đó thoát ra với kết quả.

Cú pháp cho câu lệnh RETURN trong MariaDB là:

RETURN result;

Ví dụ sử dụng câu lệnh RETURN trong MariaDB:

DELIMITER //

CREATE FUNCTION CalcValue ( starting_value INT )
RETURNS INT DETERMINISTIC

BEGIN

   DECLARE total_value INT;

   SET total_value = 0;

   label1: LOOP
     SET total_value = total_value + starting_value;
     IF total_value < 700 THEN
       ITERATE label1;
     END IF;
     LEAVE label1;
   END LOOP label1;

   RETURN total_value;

END; //

DELIMITER ;

Lời kết: Trong thời gian tới Team Việt Dev sẽ tiếp tục chia sẻ thêm nhiều bài viết về chuyên mục MariaDB miễn phí đến bạn đọc, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Team Việt Dev)

Bình luận