mysql 存储过程 循环
时间: 2023-10-14 19:26:11 浏览: 75
MySQL 存储过程可以使用循环来实现重复执行一段代码的功能。循环主要有两种类型:WHILE 和 FOR。
1. WHILE 循环
WHILE 循环会在满足条件的情况下重复执行一段代码,直到条件不再满足为止。
语法:
```
WHILE condition DO
statement;
END WHILE;
```
示例:
```
DELIMITER //
CREATE PROCEDURE test_while()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 5 DO
SELECT i;
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
```
上面的存储过程将会输出数字 1 到 5。
2. FOR 循环
FOR 循环是一种更为简单和直观的循环方式,它会在指定的范围内重复执行一段代码,避免了使用 WHILE 循环时需要手动计数的麻烦。
语法:
```
FOR variable_name [, variable_name] ... IN range DO
statement;
END FOR;
```
其中,`variable_name` 是循环变量的名称,`range` 是循环范围,可以是数字或者字符串。
示例:
```
DELIMITER //
CREATE PROCEDURE test_for()
BEGIN
DECLARE i INT DEFAULT 1;
FOR i IN 1..5 DO
SELECT i;
END FOR;
END //
DELIMITER ;
```
上面的存储过程将会输出数字 1 到 5。
需要注意的是,MySQL 存储过程中的循环只能用于处理少量数据,不能用于处理大量数据,否则会影响数据库的性能。