mysql 循环第二种用法 。
mysql 循环第三种用法。
https://www.cnblogs.com/Lvhengshuai/p/6826174.html 跟这里写的一样,就是他这个缺少符号。别的已经验证通过
MySQL不支持FOR loops循环。
只有LOOP循环:
[begin_label:] LOOP
statement_list
END LOOP [end_label]
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1
IF p1 <10 THEN
ITERATE label1
END IF
LEAVE label1
END LOOP label1
SET @x = p1
END
LOOP实现了一个简单的循环结构,允许重复执行语句列表,该列表由一个或多个语句组成,每个语句以分号()分隔符结束。 循环中的语句将重复执行,直到循环终止。 一般情况,通过LEAVE终止循环。 在函数中,也可以使用RETURN,它完全退出函数,也同时终止循环。
扩展资料
mysql流程控制结构:
顺序结构:程序从上往下依次执行,
分支结构:程序从两条或多条路径中选中一条去执行,
循环结构:程序在满足一定条件的基础上,重复执行一段代码。
分支结构
1、if函数
功能:实现简单的双分支
语法:
if(表达式1,表达式2,表达式3)
执行顺序:
如果表达式1成立,则if函数返回表达式2的值,否则返回表达式3的值
应用:任何地方(在begin end中或外面都可以)
2、case结构
情况1:类似于java中的switch语句,一般用于实现等值判断
语法:
CASE 变量|表达式|字段
WHEN 要判断的值 THEN 返回的值1或语句1
WHEN 要判断的值 THEN 返回的值2或语句2
...
ELSE 要返回的值n或语句n
END CASE
情况2:类似于java中的多重IF语句,一般用于实现区间判断
语法;
CASE
WHEN 要判断的条件1 THEN 返回的值1或语句1
WHEN 要判断的条件2 THEN 返回的值2或语句2
...
ELSE 要返回的值n或语句n
END CASE
delimiter $$// 定义结束符为 $$drop procedure if exists wk// 删除 已有的 存储过程
create procedure wk()// 创建新的存储过程
begin
declare i int// 变量声明
set i = 1
while i <11 do // 循环体
insert into user_profile (uid) values (i)
set i = i +1
end while
end $$ // 结束定义语句
// 调用
delimiter // 先把结束符 回复为
call wk()
delimter : mysql 默认的 delimiter是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)