mysql 存储过程 循环
时间: 2023-10-13 21:23:58 浏览: 40
在 MySQL 存储过程中,可以使用循环来重复执行一段代码。MySQL 存储过程支持两种类型的循环:WHILE 循环和 REPEAT 循环。
WHILE 循环的语法如下:
```
WHILE condition DO
statements;
END WHILE;
```
其中,condition 是一个条件表达式,statements 是需要执行的代码块。只要 condition 满足,就会一直执行 statements 中的代码。
例如,下面的存储过程会将表中的所有记录的 age 字段加 1:
```
CREATE PROCEDURE increase_age()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < (SELECT COUNT(*) FROM users) DO
UPDATE users SET age = age + 1 WHERE id = i;
SET i = i + 1;
END WHILE;
END;
```
REPEAT 循环的语法如下:
```
REPEAT
statements;
UNTIL condition;
```
其中,statements 是需要执行的代码块,condition 是一个条件表达式。只要 condition 不满足,就会一直执行 statements 中的代码。
例如,下面的存储过程会将表中的所有记录的 age 字段加 1:
```
CREATE PROCEDURE increase_age()
BEGIN
DECLARE i INT DEFAULT 0;
REPEAT
UPDATE users SET age = age + 1 WHERE id = i;
SET i = i + 1;
UNTIL i >= (SELECT COUNT(*) FROM users);
END;
```
注意,以上的存储过程仅供参考,实际应用中需要根据具体情况进行调整。