开发者社区> 问答> 正文

mysql 使用游标时报错,不明白是什么原因?报错

create procedure p14()
begin
	declare row_gid int default 0;
	declare row_num int;
	declare row_name varchar(20);
	declare cnt int default 0;
	declare i int default 0;
	select count(*) into cnt from goods;
	declare getgoods cursor for select gid, num , name from goods;
	open getgoods;
	repeat
	set i :=i+1;
	fetch getgoods into row_gid,row_num,row_name;
	select row_gid,row_num,row_name;
	until i>= cnt end repeat;
	close getgoods;
end$


此时创建这个存储过程时报错,但是将第8行或第9行位置互换就正常了,不明白为什么,请都各大神

展开
收起
爱吃鱼的程序员 2020-06-10 13:42:39 850 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    declare必须在CRUD之前。执行过CRUD就不能再declare了。一句话解决问题,特意注册了个号给大佬点赞,“注册1个小时内不允许执行此操作”,特意上个闹钟等一个小时再来都:教。你用的是五笔输入法吧

    2020-06-10 13:42:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像