解决mysql报错:Error Code: 2014 Commands out of sync; you can‘t run this command now

以下是我出错的代码:

delimiter $$

drop procedure if exists show_all;
create procedure show_all()
begin

declare bname text;
declare eno text;
declare done int default 0;

declare bname_cur cursor for
select temp.bname as info
from (select distinct bank.bname from bank,loan where loan.bno=bank.bno) as temp;

declare CONTINUE HANDLER FOR NOT FOUND SET done=1;

open bname_cur;
rowloop:Loop
	if done=1 then leave rowloop;
    end if;

fetch bname_cur into bname;
select legalentity.ename, ldate, lamount, lterm
from legalentity,loan
where legalentity.eno=loan.eno and loan.bname=bname;

end loop rowloop;
close bname_cur;

end $$
delimiter ;


运行的时候,MySQL报错:Error Code: 2014 Commands out of sync; you can’t run this command now

修改后的代码

delimiter $$

drop procedure if exists show_all $$ /*替换成分隔符*/
create procedure show_all()
begin

declare bname text;
declare eno text;
declare done int default 0;

declare bname_cur cursor for
select temp.bname as info
from (select distinct bank.bname from bank,loan where loan.bno=bank.bno) as temp;

declare CONTINUE HANDLER FOR NOT FOUND SET done=1;

open bname_cur;
rowloop:Loop
	if done=1 then leave rowloop;
    end if;

fetch bname_cur into bname;
select legalentity.ename, ldate, lamount, lterm
from legalentity,loan
where legalentity.eno=loan.eno and loan.bname=bname;

end loop rowloop;
close bname_cur;

end $$
delimiter ;

解决办法:根据Stack Overflow的建议,将drop procedure那一行结尾处加上分隔符(此处为$$)即可。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值