Truy vấn sau tạo thủ tục lưu trữ sinh 5 số ngẫu nhiên:
mysql> DELIMITER //
mysql> DROP PROCEDURE IF EXISTS RandomNumbers;
-> CREATE PROCEDURE RandomNumbers()
-> BEGIN
-> SET @i = 0;
-> REPEAT
-> SELECT RAND() AS 'Random Number';
-> SET @i = @i + 1;
-> UNTIL @i >=5 END REPEAT;
-> END
-> //
Query OK, 0 rows affected (0.16 sec)
Query OK, 0 rows affected (0.16 sec)
Gọi thủ tục để xem kết quả:
mysql> DELIMITER ; mysql> CALL RandomNumbers(); +---------------------+ | Random Number | +---------------------+ | 0.25968261739209536 | +---------------------+ 1 row in set (0.00 sec) +--------------------+ | Random Number | +--------------------+ | 0.1659662734400167 | +--------------------+ 1 row in set (0.01 sec) +---------------------+ | Random Number | +---------------------+ | 0.05078354575744229 | +---------------------+ 1 row in set (0.01 sec) +--------------------+ | Random Number | +--------------------+ | 0.7560189392008064 | +--------------------+ 1 row in set (0.04 sec) +------------------+ | Random Number | +------------------+ | 0.62774408946535 | +------------------+ 1 row in set (0.04 sec) Query OK, 0 rows affected (0.05 sec)
Giải thích:
RAND()sinh số thực ngẫu nhiên trong khoảng [0, 1)- Biến
@iđếm số lần lặp - Vòng lặp
REPEAT ... UNTIL @i >= 5chạy đúng 5 lần - Mỗi lần lặp trả về một tập kết quả riêng biệt