Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để câu lệnh vòng lặp WHILE của MySQL có thể được sử dụng trong thủ tục được lưu trữ?


Như chúng ta biết rằng MySQL cung cấp cho chúng ta các câu lệnh lặp cho phép chúng ta thực thi một khối mã SQL lặp đi lặp lại dựa trên một điều kiện. WHILE câu lệnh lặp là một trong những loại câu lệnh lặp như vậy. Cú pháp của nó như sau -

WHILE expression DO
statements
END WHILE

Trên thực tế, vòng lặp WHILE kiểm tra biểu thức khi bắt đầu mỗi lần lặp. Nếu biểu thức đánh giá là true, MySQL sẽ thực thi các câu lệnh giữa WHILE và END WHILE cho đến khi biểu thức đánh giá là false. Vòng lặp WHILE kiểm tra biểu thức trước khi các câu lệnh thực thi, đó là lý do tại sao nó còn được gọi là vòng lặp đẹp nhất.

Để chứng minh việc sử dụng vòng lặp WHILE với các thủ tục được lưu trữ, sau đây là một ví dụ -

mysql> Delimiter //
mysql> CREATE PROCEDURE While_Loop()
  -> BEGIN
-> DECLARE A INT;
-> DECLARE XYZ Varchar(50);
-> SET A = 1;
-> SET XYZ = '';
-> WHILE A <=10 DO
-> SET XYZ = CONCAT(XYZ,A,',');
-> SET A = A + 1;
-> END WHILE;
-> SELECT XYZ;
-> END //
Query OK, 0 rows affected (0.31 sec)

Bây giờ, chúng ta có thể thấy kết quả bên dưới khi gọi thủ tục này -

mysql> DELIMITER ;
mysql> call While_Loop();
+-----------------------+
| XYZ |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.03 sec)