MySQL存储过程中的循环怎么写
在MySQL存储过程的语句中有三个标准的循环⽅式:WHILE循环,LOOP循环以及REPEAT循环。还有⼀种⾮标准的循环⽅式:GOTO,不过这种循环⽅式最好别⽤,很容易引起程序的混乱,在这⾥就不错具体介绍了。
这⼏个循环语句的格式如下:
WHILE……DO……END WHILE
REPEAT……UNTIL END REPEAT
LOOP……END LOOP
GOTO。
下⾯⾸先使⽤第⼀种循环编写⼀个例⼦。
DROP PROCEDURE IF EXISTS `pro10`;织梦模板下载网
DELIMITER $$
CREATE PROCEDURE `pro10`()
BEGIN
-- 定义变量
DECLARE v_i int unsigned DEFAULT 0;
WHILE v_i < 5 DO
SELECT v_i;
SET v_i = v_i+1;
END WHILE;
END $$
DELIMITER ;
CALL pro10();
html下拉框怎么写再来看⼀下第⼆个循环控制指令 REPEAT……END REPEAT。使⽤REPEAT循环控制语句编写下⾯这个存储过程:
DROP PROCEDURE IF EXISTS `pro11`;
DELIMITER $$
CREATE PROCEDURE `pro11`()
BEGIN
-- 定义变量
mysql怎么读英语DECLARE v_i int unsigned DEFAULT 0;
REPEAT
SELECT v_i;
SET v_i = v_i+1;
UNTIL v_i >= 5 END REPEAT;
END $$
DELIMITER ;
CALL pro11();
再来看⼀下第三个循环控制语句LOOP……END LOOP。编写⼀个存储过程程序如下:
DROP PROCEDURE IF EXISTS `pro12`; DELIMITER $$spring整合es
CREATE PROCEDURE `pro12`()
BEGIN
-- 定义变量
DECLARE v_i int unsigned DEFAULT 0;
LOOP_LABEL:LOOP
SELECT v_i;
SET v_i = v_i+1;
IF v_i >= 5 THEN
LEAVE LOOP_LABEL;
END IF;
END LOOP;
END $$
DELIMITER ;
CALL pro12();
DROP PROCEDURE IF EXISTS `pro13`; DELIMITER $$
CREATE PROCEDURE `pro13`()
BEGIN
-- 定义变量
DECLARE v_i int unsigned DEFAULT 0;
LOOP_LABEL:LOOP
IF v_i = 3 THENdocker怎么用
SET v_i = v_i+1;
ITERATE LOOP_LABEL; # => continue END IF;
SELECT v_i;
SET v_i = v_i+1;
IF v_i >= 5 THEN
LEAVE LOOP_LABEL; # => break;
END IF;
什么运算符不能在access中使用END LOOP;
END $$
DELIMITER ;
CALL pro13();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论