repeat循环类似Java中的do while循环,直到条件不满足才会结束循环。
语法:
[别名:] REPEAT 循环语句 UNTIL 条件 END REPEAT [别名]
示例:循环打印1~10
delimiter // create procedure s_repeat() begin declare i int default 1; declare str varchar(256) default '1'; # 开始repeat循环 num: repeat set i = i + 1; set str = concat(str, '-', i); # until 结束条件 # end repeat 结束num 结束repeat循环 until i >= 10 end repeat num; # 查询字符串拼接结果 select str; end // call s_repeat();
repeat 与 while 的不同之处就是 ,while 在执行之前检查条件;
create procedure slelect_toatal_money(IN order_id INT) begin -- 定义变量 declare var int; -- 赋值 set var= order_id+5; -- repeat循环 repeat select price from oder_detail where oid = order_id; set var = var + 1; until var>7 end repeat; end;
调用示例
call slelect_toatal_money(1);
此时会输出2组相同结果;
price 20 15 5
以上就是在数据库mysql中repeat循环的一些用法,其中我们还和以前熟悉的while循环进行了对比,两者的区别已经有所展现和标注,小伙伴阅读的时候需要留意。
本文教程操作环境:windows7系统、mysql5.8,DELL G3电脑。