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

Làm thế nào để câu lệnh lặp lại MySQL REPEAT 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. A LẶP LẠI 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 -

REPEAT
   statements;
UNTIL expression
END REPEAT

Trước hết, MySQL thực thi các câu lệnh, sau đó nó đánh giá biểu thức. Nếu biểu thức đánh giá là FALSE, MySQL thực thi các câu lệnh lặp đi lặp lại cho đến khi biểu thức đánh giá là TRUE. LẶP LẠI vòng lặp kiểm tra biểu thức sau 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 kiểm tra sau.

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

mysql> Delimiter //
mysql> CREATE PROCEDURE Repeat_Loop()
   -> BEGIN
   -> DECLARE A INT;
   -> DECLARE XYZ Varchar(50);
   -> SET A = 1;
   -> SET XYZ = '';
   -> REPEAT
   -> SET XYZ = CONCAT(XYZ,A,',');
   -> SET A = A + 1;
   -> UNTIL A > 10
   -> END REPEAT;
   -> SELECT XYZ;
   -> END //
Query OK, 0 rows affected (0.04 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 Repeat_Loop();
+-----------------------+
| XYZ                   |
+-----------------------+
| 1,2,3,4,5,6,7,8,9,10, |
+-----------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)