比企谷八幡_比八谷 2022-03-30 10:25 采纳率: 100%
浏览 27
已结题

,之前mysql 游标语法错误 ,要在定义游标的地方开辟一个代码块啊?

drop procedure proc_cursor;
create procedure proc_cursor(in one int,in sum int)
begin
        DECLARE cursor_id int;
        DECLARE cursor_na varchar(255);
        DECLARE cursor_addr varchar(255);
        
        DECLARE sb int default 0;
        DECLARE a int default 0;
        DECLARE b int default 0;
        
        
        
        --     limit 下标从0 开始
        set sb = (one - 1) * sum;
        
        if one > 0 then
                    
--          游标前面的赋值sql语句会导致语法报错,解决方法用代码块把声明游标包起来
                begin
                                        --  声明游标 
                            DECLARE cursor_name CURSOR FOR select id,name,addr from student limit sb,sum;
                            DECLARE CONTINUE HANDLER FOR NOT FOUND set a = 1;                                         -- 当读到数据的最后一条时,设置no变量为1
                            
                    --     打开游标    open
                            open cursor_name;
                            
                            while a = 0 do
                            
                        --         fetch是获取游标当前指向的数据行,并将指针指向下一行
                                    fetch cursor_name into cursor_id,cursor_na,cursor_addr;
                                    
                                    
                                    select CONCAT(cursor_id,cursor_na,cursor_addr);

                                
                            end while;
                            
                            --     关闭游标 close
                            close cursor_name;
                END;
                
                
        else 
            select '输入错误';
            
        end if;
        

        
END

call proc_cursor(1,10)

```

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2022-03-30 10:45
    关注

    能正常执行。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 3月30日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆