mysql while、loop、repeat循环,满足条件退出循环_MySQL
1、白周期
分隔符$ $
dopprocedureifexists ` sp _ test _ while ` $ $
创建流程` sp _ test _ while ` (
IN p_number INT,#循环的次数
IN p_startid INT #循环的实际值
)
比根
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid;
设置outer_label: BEGIN #标记
WHILE v_val=p_number DO
SET v_val=v_val 1;
if(v_val=100 ) THEN
LEAVE outer_label; #满足条件,退出循环,跳转到end outer_label标记
结束If;
结束车轮;
SELECT ‘我在while之外,outer_label内的SQL‘;
#此SQL位于outer_label代码块中,因此在level之后不会运行此SQL;
只要Leave outer_label位于outer_label代码块中的任意位置,就不再执行Leave后的代码
结束输出_标签;
selectconcat(‘test‘,v_val ) AS tname;
结束$ $
分隔符
callsp _ test _ while (1000,0 );
2、循环周期
分隔符$ $
dopprocedureifexists ` sp _ test loop ` $ $ $
创建流程` sp _ test loop ` (
IN p_number INT,#循环的次数
IN p_startid INT #循环的实际值
)
比根
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid;
loop_label: LOOP #循环开始
SET v_val=v_val 1;
if(v_valp_number ) THEN
LEAVE loop_label; #结束循环
结束If;
结尾环路;
selectconcat(‘testloop_‘,v_val ) AS tname;
结束$ $
分隔符
callsp _ test loop (1000,0;
3、repeat循环下载地址
分隔符$ $
dopprocedureifexists ` sp _ test _ repeat ` $ $
创建流程` sp _ test _ repeat ` (
IN p_number INT,#循环的次数
IN p_startid INT #循环的实际值
)
比根
DECLARE v_val INT DEFAULT 0;
SET v_val=p_startid;
开始重复#重复循环
SET v_val=v_val 1;
until v_valp_number #循环结束的条件,在此为‘; “分号,否则报告错误
结束重复; #循环结束
selectconcat(‘test‘,v_val ) AS tname;
结束$ $
分隔符
callsp _ test _ repeat (1000,0 );
以上是mysql while、loop、repeat循环,满足条件,从循环_MySQL弹出的内容。 更多相关内容请关注PHP中文网(www.gxlcms.com)!
这篇技术文章是由网络提供的。 如果您不打算侵犯您的权利,请单击此处反馈版权投诉
正文系统来源: php中文网