今天分享的内容是如何在存储过程中通过do while 实现循环。
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()
BEGIN
DECLARE numer bigint(20) default 1;
WHILE numer <= 180 DO
INSERT INTO `huyuelei`.`data_year_collect_item_detail`( `center_code`, `dept_name`, `date`, `year_money`, `one_money`, `two_money`, `three_money`, `four_money`, `five_money`, `six_money`, `seven_money`, `eight_money`, `nine_money`, `ten_money`, `evl_money`, `twl_money`, `last_year_money`, `code`, `datetime`) VALUES ( '007', '时代雅居站', '2023', 122168.10, 0.00, 0.00, 0.00, 0.00, 122168.10, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 92611.37, '0005,008,0011,CC20230529005,CC20230529001,CC20230529002,CC20230529004,CC20230529003,007', '2023-04');
SET numer = numer + 1;
END
WHILE;
END
存储过程的do while 语法如下:
WHILE 条件 DO
执行动作;
//对条件进行更新
SET numer = numer + 1;
//终止循环
END
WHILE;
如上是一个do while循环的存储过程的demo,这里就以上面存储过程为例来介绍。
要实现数字小于180时,进行循环,大于180时则终止循环的逻辑。
1:首先创建一个存储过程:这里不多说了
2:定义一个要循环的变量初始量为1;
3:填充do while,写业务逻辑 :
WHILE 变量<=180 DO
//1:执行操作
//2:更新变量
end while;//终止循环
如此一个最简单的do while逻辑实现了。