游标的语法

本文详细介绍了如何在SQL中使用游标进行数据处理,包括创建、打开、获取记录及关闭游标的步骤,并提供了具体的示例代码。此外还展示了如何将游标与循环结构结合使用,以及如何处理异常情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、步骤:

              创建游标

              打开游标

               获取记录

              关闭游标


语法

   Declare游标名称 cursorfor

     Select  。。。。。from 。。。where--------不能有into关键字

注意:声明完后并不执行

                                           Open游标名称

                                            Fetch游标名称 into变量

                                          Close游标名称

示例

        delimiter //

        create procedure p18(out para1 int)

                       begin

                      declare c  cursor for

                      select s1 from t1;

                      open c;

                       fetch c into para1;

         end //

2、与while结合

  reate procedure ph19(out para1 int)

   -> begin

   -> declare v int default 0;

   -> declare c  cursor for

   -> select id1 from tb3;

   -> open c;

   -> while v<3 do

   -> fetch c into para1;

   -> set v=v+1;

   -> end while ;

   -> close c;

   -> end //




3、异常代码

SQLSTATE 代码

Erroe 1022

参见手册

内置异常描述

Declareexit      handler  for SQULSTATE 信息执行的动作

Declarecontinue  handler  for SQULSTATE 信息执行的动作

 语法

mysql> create procedure ph20(out para1int)

  -> begin

  -> declare a boolean default ture;

  -> declare c cursor for

  -> select id1 from tb3;

  -> declare exit  handler fornot found

  -> set a=false;

  -> open c;

  -> while a do

  -> fetch c into para1;

  -> end while ;

  -> close c;

  -> end //








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值