赞
踩
1.while循环语句
- 需求:想数据库表插入20条数据
-
- DELIMITER $$
- CREATE PROCEDURE test_while()
- BEGIN
- -- 定义循环对象
- DECLARE i INT DEFAULT 0;
- -- 判断是否执行下一次循环
- WHILE(i<20) DO
- BEGIN
- -- 执行循环操作
- SET i =i +1;
- INSERT INTO test_for(id) VALUES(i);
- END;
- END WHILE;
-
- END;
- $$
- DELIMITER ;
-
-
- CALL test_while();
- 1.while语句最基本的机构:while() do .... end while;
- 2.while判断返回逻辑真或假,表达式可以是任意返回真或假的表达式
2.repeat循环语句
- 需求同上
-
- DELIMITER $$
- CREATE PROCEDURE test_repeat()
- BEGIN
- -- 定义循环初始值
- DECLARE i INT DEFAULT 100;
- -- 开始循环
- REPEAT
- BEGIN
- SET i =i +1;
- INSERT INTO test_for(id) VALUES(i);
- END;
- -- 判断是否进行下一次循环
- UNTIL i >= 120
- -- 结束循环
- END REPEAT;
- END;
- $$
- DELIMITER ;
-
-
- CALL test_repeat();
- 1.repeat语句最基本的机构:repeat .... until.. end repeat;
- 2.until判断返回逻辑真或假,表达式可以是任意返回真或假的表达式,只有当表达式为真时,循环结束
3.LOOP
- 需求:获取由ID为偶数,并且id小于10的记录其名称组成的字符串
- DELIMITER &&
- CREATE PROCEDURE test_loop()
- BEGIN
- -- 定义循环变量
- DECLARE num INT DEFAULT 0;
- -- 定义每次循环得到名称
- DECLARE test_name VARCHAR(255) DEFAULT '';
- -- 定义返回结果
- DECLARE result VARCHAR(255) DEFAULT '';
-
- -- 开始循环
- my_loop :LOOP
-
- IF(num > 10) THEN
- -- 相当于Java的break
- LEAVE my_loop;
- END IF;
-
- SET num = num + 1;
-
- IF(num %2 !=0) THEN
- -- 相当于Java的continue
- ITERATE my_loop;
- ELSE
- SELECT NAME INTO test_name FROM test_score WHERE id = num;
- SET result = CONCAT(result, ',',test_name);
- END IF;
-
- -- 结束循环
- END LOOP;
- -- 返回结果
- SELECT result;
- END;
- &&
- DELIMITER ;
-
- CALL test_loop();
- 1.在LOOP语句之前放置一个loop_label循环标签
- 2.LEAVE语句用于立即退出循环,而无需等待检查条件。类似Java的break。
- 3.ITERATE语句允许您跳过剩下的整个代码并开始新的迭代。类似Java的continue。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。