1.基础语法

while循环初始化语句;WHILE 条件判断语句 DO循环体语句;条件控制语句;END WHILE;

2.举例

计算1~100之间的偶数和

【注:num只能num=num+1 不能num++,num+=1; 】

<1>存储过程内部查询

DELIMITER $CREATE PROCEDURE pro_test6()
BEGIN-- 定义求和变量DECLARE result INT DEFAULT 0;-- 定义初始化变量DECLARE num INT DEFAULT 1;-- while循环WHILE num<=100 DOIF num%2 =0 THENSET result =result +num;END IF;SET num =num +1;END WHILE;-- 查询求和结果SELECT result;
END $DELIMITER ;
-- 调用pro_test6存储过程
CALL pro_test6();

<2>存储过程外部查询,并将结果返回【定义输入输出参数】

  • 方法一:定义初始变量,将值赋给输出参数
DELIMITER $CREATE PROCEDURE pro_test7(IN n INT ,OUT SUM INT ) -- (形参,返回值)
BEGIN-- 定义求和变量DECLARE result INT DEFAULT 0;-- 定义初始化变量DECLARE num INT DEFAULT 1;-- while循环WHILE num<=n DOIF num%2 =0 THENSET result =result +num;END IF;SET num =num +1;END WHILE;-- 查询求和结果SET SUM =result;
END $DELIMITER ;-- 调用pro_test7存储过程
CALL pro_test7(10,@sum) ;
SELECT @sum ;
  • 方法二:IFNULL(SUM,0)函数给输出函数初始化赋值
DELIMITER $CREATE PROCEDURE pro_test8(IN n INT ,OUT SUM INT ) -- (形参,返回值)
BEGIN-- 定义求和变量DECLARE num INT DEFAULT 1;-- while循环WHILE num<=n DOIF num%2 =0 THEN-- SET SUM =SUM +num;SET SUM =IFNULL(SUM,0) +num; -- 方法1END IF;SET num =num +1;END WHILE;END $DELIMITER ;-- 调用pro_test8存储过程
CALL pro_test8(10,@sum) ;
SELECT @sum ;
  • 方法三:IF SUM IS NULL THEN
    SET SUM =0;
    END IF;
    在while循环对输出参数加非空判断
DELIMITER $CREATE PROCEDURE pro_test9(IN n INT ,OUT SUM INT ) -- (形参,返回值)
BEGIN-- 定义求和变量DECLARE num INT DEFAULT 1;IF SUM IS NULL THENSET SUM =0;END IF;                                 -- 方法2-- while循环WHILE num<=n DOIF num%2 =0 THENSET SUM =SUM +num;END IF;SET num =num +1;END WHILE;END $DELIMITER ;-- 调用pro_test9存储过程
CALL pro_test9(10,@sum) ;
SELECT @sum ;
  • 方法四:SET @sum=0 ;在调用方法时,给输出参数设置初始参数
DELIMITER $CREATE PROCEDURE pro_test10(IN n INT ,INOUT SUM INT ) -- (形参,返回值)-- 方法3
BEGIN-- 定义求和变量DECLARE num INT DEFAULT 1;-- while循环WHILE num<=n DOIF num%2 =0 THENSET SUM =SUM +num;END IF;SET num =num +1;END WHILE;END $DELIMITER ;-- 调用pro_test7存储过程
SET @sum=0 ;
CALL pro_test7(10,@sum) ;
SELECT @sum ;

3.方法查询结果

存储过程内基础语法---补充while循环相关推荐

  1. 第三次学JAVA再学不好就吃翔(part13)--基础语法之while循环语句

    学习笔记,仅供参考 文章目录 JAVA基础语法 while语句 do...while语句 JAVA基础语法 while语句 格式 初始化语句; while(判断条件语句) {循环体语句;控制条件语句; ...

  2. 第三次学JAVA再学不好就吃翔(part12)--基础语法之for循环语句

    学习笔记,仅供参考 JAVA基础语法 for循环语句 格式 for(初始化表达式;条件表达式;循环后的操作表达式) {循环体;} 执行流程 ①执行初始化表达式: ②执行条件表达式,看其返回值是true ...

  3. oracle存储过程(基础语法)

    1.存储过程的定义 存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它 ...

  4. 语句中如何结束本循环进入下一循环_Python3基础语法(八)--控制循环 while...

    一.while 简介 Python 的循环有 for 和 while 两种,while 为条件控制循环,通过循环控制条件表达式控制循环结束. 流程图如下: Python 中 while 语句的格式如下 ...

  5. python输入两个列表a和b、利用内置函数zip()_2nd Python基础语法

    第二章 基础语法的补充拓展 2.1 关于变量的机制 2.1.1 变量的创建和修改 当Python创建一个变量时,我们假设是name,赋值为zm,变量的值(zm)就会存储在计算机的内存中,而该变量的变量 ...

  6. 第三次学JAVA再学不好就吃翔(part14)--基础语法之循环语句注意事项

    学习笔记,仅供参考 文章目录 JAVA基础语法 for, while, do...while的区别 死循环 循环嵌套 JAVA基础语法 for, while, do-while的区别 do-while ...

  7. antd 判断input输入内容是否大于_Python基础语法 | 代码规范amp;判断语句amp;循环语句...

    Python基础语法 代码的执行顺序 从上到下 从左到右 代码规范 模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 ...

  8. python语句块规范_Python基础语法——代码规范判断语句循环语句

    Python基础语法 代码的执行顺序从上到下 从左到右 代码规范模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 每 ...

  9. C++ C++基础语法入门总结(二)引用-内联函数-C++11新特性

    C++基础语法入门总结 C++引用 再谈引用和指针 C++内联函数 附加C++11新特性 auto关键字 基于范围的for循环 指针空值nullptr C++引用 引用:就是某一变量(目标)的一个别名 ...

最新文章

  1. python turtle基本语法_Python 基础语法-turtle篇
  2. 【工作感悟】mysql授权root远程访问
  3. 优化你的DiscuzNT3.0,让它跑起来(4)asp.net 缓存和死锁
  4. 2021十大金融科技趋势
  5. java播放声音类和一个简单示例
  6. 谷歌不是 Web 界的上帝!
  7. 最简单的视频编码器:基于libx264(编码YUV为H.264)
  8. VSCode离线汉化教程
  9. 研发体系核心代码和文档安全保护方案
  10. 矩阵卷积运算的三种方式及C语言实现
  11. 怎样从一个手机上安两个不同版本的软件_怎么在一部手机上安装两个不同版本的微信?...
  12. redis之AOF和RDB持久化
  13. 2021第五届航交会暨全球物流博览会向航运物流产业链人士发出邀约!金秋十月,共聚宁波!
  14. Vue笔记 (二) 如何做移动端适配 让你只用关心设计稿
  15. 8月1日任务 11.14-11.17
  16. java分子分母的加减乘除_JAVA实现精确的加减乘除代码
  17. 复旦提出ObjectFormer,收录CVPR 2022!图像篡改检测新工作!
  18. vue中el-dialog弹窗关闭,子组件控制父组件
  19. Tailwind Spacing
  20. CSS样式表的引入方式

热门文章

  1. gym103117L. Spicy Restaurant
  2. P6669 [清华集训2016] 组合数问题
  3. Acwing 218. 扑克牌
  4. 牛客网【每日一题】Shortest Path 4月3日题目精讲 DFS
  5. CSP2021提高组复赛解析
  6. P6091-[模板]原根
  7. P2444-[POI2000]病毒【AC自动机】
  8. 【dfs】【链表】连通图 (ssl 1758)
  9. 分布式事务解决方案——柔性事务与服务模式
  10. 在MySQL的InnoDB存储引擎中count(*)函数的优化