mysql 5.5 局部变量赋值报错 1064 实在找不到语法哪错了,大家帮忙看看

declaremonth_datevarchar(7);IF(DATE_FORMAT(DATE_ADD(v_deal_date,INTERVAL1DAY),'%d')='... declare month_date varchar(7);
IF (DATE_FORMAT(DATE_ADD(v_deal_date,INTERVAL 1 DAY),'%d')='01') then
(就报这行错误) set month_date=substr(v_deal_date,1,7);

…………sql
END IF;
[Err] 1064 - 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 '' at line 22
展开
 我来答
X_earth
2014-09-16 · TA获得超过248个赞
知道小有建树答主
回答量:204
采纳率:73%
帮助的人:64.8万
展开全部

没有错误。你可以把全部的代码贴上来

追问
非常感谢您的回复。您的回复给了我一个查错的思路,我折腾了一上午研究这个,发现了很有意思的情况。
将过程里面抓异常的去掉,编译成功,但如果把抓异常的加回来就会报语法错误。
过程如下,还请费心给看看,代码如下:(baidu 限制了字数,所以我只好贴图了)
追答

这是Mysql的DECLARE处理语句,从语句可以看出,你的代码缺少sp_statement部分,加上sp_statement部分即可,可以使任意sql语句,如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式