当前位置:   article > 正文

mysql存储过程之循环语句(五)_mysql 存储过程 my_loop

mysql 存储过程 my_loop

1.while循环语句

  1. 需求:想数据库表插入20条数据
  2. DELIMITER $$
  3. CREATE PROCEDURE test_while()
  4. BEGIN
  5. -- 定义循环对象
  6. DECLARE i INT DEFAULT 0;
  7. -- 判断是否执行下一次循环
  8. WHILE(i<20) DO
  9. BEGIN
  10. -- 执行循环操作
  11. SET i =i +1;
  12. INSERT INTO test_for(id) VALUES(i);
  13. END;
  14. END WHILE;
  15. END;
  16. $$
  17. DELIMITER ;
  18. CALL test_while();

总结 

  1. 1.while语句最基本的机构:while() do .... end while;
  2. 2.while判断返回逻辑真或假,表达式可以是任意返回真或假的表达式

 

2.repeat循环语句 

  1. 需求同上
  2. DELIMITER $$
  3. CREATE PROCEDURE test_repeat()
  4. BEGIN
  5. -- 定义循环初始值
  6. DECLARE i INT DEFAULT 100;
  7. -- 开始循环
  8. REPEAT
  9. BEGIN
  10. SET i =i +1;
  11. INSERT INTO test_for(id) VALUES(i);
  12. END;
  13. -- 判断是否进行下一次循环
  14. UNTIL i >= 120
  15. -- 结束循环
  16. END REPEAT;
  17. END;
  18. $$
  19. DELIMITER ;
  20. CALL test_repeat();

总结

  1. 1.repeat语句最基本的机构:repeat .... until.. end repeat;
  2. 2.until判断返回逻辑真或假,表达式可以是任意返回真或假的表达式,只有当表达式为真时,循环结束

3.LOOP

  1. 需求:获取由ID为偶数,并且id小于10的记录其名称组成的字符串
  2. DELIMITER &&
  3. CREATE PROCEDURE test_loop()
  4. BEGIN
  5. -- 定义循环变量
  6. DECLARE num INT DEFAULT 0;
  7. -- 定义每次循环得到名称
  8. DECLARE test_name VARCHAR(255) DEFAULT '';
  9. -- 定义返回结果
  10. DECLARE result VARCHAR(255) DEFAULT '';
  11. -- 开始循环
  12. my_loop :LOOP
  13. IF(num > 10) THEN
  14. -- 相当于Java的break
  15. LEAVE my_loop;
  16. END IF;
  17. SET num = num + 1;
  18. IF(num %2 !=0) THEN
  19. -- 相当于Java的continue
  20. ITERATE my_loop;
  21. ELSE
  22. SELECT NAME INTO test_name FROM test_score WHERE id = num;
  23. SET result = CONCAT(result, ',',test_name);
  24. END IF;
  25. -- 结束循环
  26. END LOOP;
  27. -- 返回结果
  28. SELECT result;
  29. END;
  30. &&
  31. DELIMITER ;
  32. CALL test_loop();

 总结

  1. 1.在LOOP语句之前放置一个loop_label循环标签
  2. 2.LEAVE语句用于立即退出循环,而无需等待检查条件。类似Java的break
  3. 3.ITERATE语句允许您跳过剩下的整个代码并开始新的迭代。类似Java的continue

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/278681
推荐阅读
相关标签
  

闽ICP备14008679号