MySQL进阶-存储过程(二)

循环-while

 

while循环是有条件的循环控制语句。满足条件后再执行循环体中的SQL语句。具体语法为:

 案例:计算从1累加到n的值,n为传入的参数值。

循环-repeat

repeat是有条件的循环控制语句,会先执行一次!当满足条件的时候退出循环。具体语法为:

注意:until后面没有分号!

  案例:计算从1累加到n的值,n为传入的参数值。

 循环-loop

LOOP实现简单的循环,如果不在SQL逻辑中增加退出的条件,可以用其来实现简单的死循环。LOOP可以配合以下两个语句使用

LEAVE:配合循环使用,退出循环

ITERATE:必须用在循环中,作用是跳过当前循环剩下的语句,直接进入下一次循环。

  案例:计算从1累加到n的值,n为传入的参数值。

 案例:计算从1到n之间偶数累加的值,n为传入的参数值。

游标-Cursor

游标(CURSOR)是用来存储查询结果集的数据类型,在存储过程和函数中可以使用游标对结果集进行循环的处理。游标的使用包括游标的声明、OPEN、FETCH、CLOSE,其语法分别如下。

 案例:

此次案例中使用了一个while的死循环来获取游标中的记录和插入数据,后面将会使用条件处理程序改进,下面的报错是无数据——获取、选择或处理的行为

 条件处理程序(Handler)

条件处理程序可以用来定义在流程控制结构执行过程中遇到问题时相应的处理步骤,具体语法为:

 对上述案例进行优化:

两种写法,一种是用状态码,可以从报错中得出,另一种是使用not found(以02开头)

存储函数

 存储函数是有返回值的存储过程,存储函数的参数只能是IN类型的。具体语法如下:

 案例:计算从1累加到n的值,n为传入的参数值。

这里的参数只能是in,而且必须要有返回值和characteristic。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值