Explorer8 2017-02-06 06:03 采纳率: 0%
浏览 5488

MySQL的存储过程declare语句报错

 CREATE PROCEDURE curdemo()
begin
  declare var_id varchar(32);
  declare var_number varchar(32);
  DECLARE var_model VARCHAR(32);
  declare rs cursor for select id,number from t_device_lending;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
  open rs;
  fetch next from rs into var_id,var_number;
  REPEAT
      IF NOT Done THEN
       select model_number into var_model from t_device_info where number = var_number;
       update t_device_lending_copy set model_number = var_model where id = var_id;
      END IF;

      FETCH NEXT FROM rs INTO id,number;

      UNTIL Done END REPEAT;

  /* 关闭游标 */
  CLOSE rs;  
end

报的错是“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'declare var_id varchar(32)' at line 3”
我对了一下5.7.10的官方手册。declare的语法应该是正确的,怎么会报这种错?求大神解释。

  • 写回答

2条回答

  • 风一样的女子& 2017-02-07 10:08
    关注

    图片说明
    end后面少了$$,所以引起了语法报错。

    评论

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用