mysql 存储过程退出时报错

Leslie-M 2013-08-14 09:51:23
错误:
[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 '/*100,3), '%') AS `Percentage` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=' at line 1

存储过程如下:

DECLARE count INT DEFAULT 0;
declare synMaxDate date default '';
declare epgMaxDate date default '';

declare epgname varchar(500) default '';
declare epgdate date default '';
declare epgstime datetime default '';
declare epgetime datetime default '';
declare epgchannleid varchar(20) default '';
declare epgprogramid1 varchar(20) default '';
declare epgprogramid2 varchar(20) default '';
declare epgpropertyid varchar(500) default '';

DECLARE done INT DEFAULT 0;

DECLARE cur1 CURSOR FOR
select a.epg_name, a.epg_time, a.epg_propertyid, a.epg_date, a.epg_fid, a.epg_fid2, a.epg_channleid, a.epg_etime
from haierdb.epg_program a, (select max(epg_date) as synMaxDate from statistics.epg_program_syn) as t1,
(select max(epg_date) as epgMaxDate from haierdb.epg_program ) as t2 where a.epg_date > t1.synMaxDate
and a.epg_date <= t2.epgMaxDate and LOCATE('55',a.epg_propertyid)>0;

DECLARE cur2 CURSOR FOR
select a.epg_name, a.epg_time, a.epg_propertyid, a.epg_date, a.epg_fid, a.epg_fid2, a.epg_channleid, a.epg_etime
from haierdb.epg_program a, (select min(epg_date) as epgMinDate from haierdb.epg_program) as t1,
(select max(epg_date) as epgMaxDate from haierdb.epg_program) as t2 where a.epg_date >= t1.epgMinDate
and a.epg_date <= t2.epgMaxDate and LOCATE('55',a.epg_propertyid)>0;

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
-- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-- DECLARE EXIT HANDLER FOR SQLWARNING,NOT FOUND,SQLEXCEPTION set done = 1;


create table if not EXISTS epg_program_syn (
epg_id int(10) not null AUTO_increment,
epg_name varchar(500),
epg_date date,
epg_stime datetime,
epg_etime datetime,
epg_channleid varchar(20),
epg_programid varchar(20),
epg_propertyid varchar(500),
PRIMARY key(epg_id),
index(epg_channleid)
);


select t1.MaxDate into synMaxDate from (select max(epg_date) AS MaxDate from statistics.epg_program_syn ) as t1;
select t2.MaxDate into epgMaxDate from (select max(epg_date) AS MaxDate from haierdb.epg_program ) as t2;

if epgMaxDate = '' and synMaxDate = '' THEN
set a_oiRet = 1; -- 两张表均为空, 结束
leave over;
end if;


if synMaxDate is not null THEN
set a_oiRet = 0;
set done = 0;
open cur1;
REPEAT
FETCH cur1 into epgname, epgstime, epgpropertyid, epgdate, epgprogramid1, epgprogramid2, epgchannleid, epgetime;
IF NOT done THEN
-- SET count = count + 1;
if epgprogramid2 != '0' then
insert into statistics.epg_program_syn(epg_name, epg_date, epg_stime, epg_etime, epg_channleid, epg_programid, epg_propertyid)
values(epgname, epgdate, epgstime, epgetime, epgchannleid, epgprogramid2, epgpropertyid);
elseif epgprogramid1 != '0' then
insert into statistics.epg_program_syn(epg_name, epg_date, epg_stime, epg_etime, epg_channleid, epg_programid, epg_propertyid)
values(epgname, epgdate, epgstime, epgetime, epgchannleid, epgprogramid1, epgpropertyid);
end if;
end if;
UNTIL done END REPEAT;
close cur1;
leave over;
else
set a_oiRet = 0;
set done = 0;
open cur2;
REPEAT
FETCH cur2 into epgname, epgstime, epgpropertyid, epgdate, epgprogramid1, epgprogramid2, epgchannleid, epgetime;
IF NOT done THEN
-- SET count = count + 1;
if epgprogramid2 != '0' then
insert into statistics.epg_program_syn(epg_name, epg_date, epg_stime, epg_etime, epg_channleid, epg_programid, epg_propertyid)
values(epgname, epgdate, epgstime, epgetime, epgchannleid, epgprogramid2, epgpropertyid);
elseif epgprogramid1 != '0' then
insert into statistics.epg_program_syn(epg_name, epg_date, epg_stime, epg_etime, epg_channleid, epg_programid, epg_propertyid)
values(epgname, epgdate, epgstime, epgetime, epgchannleid, epgprogramid1, epgpropertyid);
end if;
end if;
UNTIL done END REPEAT;
-- SELECT count, epgname, epgstime, epgpropertyid, epgdate, epgprogramid1, epgprogramid2, epgchannleid, epgetime;
-- SELECT count;
close cur2;
leave over;
end if;


每次我实际执行的是cur2的循环插入, 插入结束退出时就报上述错误
...全文
283 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leslie-M 2013-08-14
  • 打赏
  • 举报
回复
是在游标cur2 循环取值判断插入, 结束时报的这个错, 这个错每次必现, 插入40多万条时报的这个错
rucypli 2013-08-14
  • 打赏
  • 举报
回复
奇怪 为什么你语法报错的语句没有在存储过程里搜出来呢
Leslie-M 2013-08-14
  • 打赏
  • 举报
回复
@JenMinZhang @a_oiRet 是我在外部传入的参数OUT a_oiRet int, 用于存储过程的返回值,
知道就是你 2013-08-14
  • 打赏
  • 举报
回复
我把你的脚本执行(保存存储过程)了一下,首先发现 “ a_oiRet ” 没有定义,如果是临时是变量需要前面加上“@” 如 @a_oiRet ,不然需要以declare方式声明变量 。 你说是存储过程执行结束后报错 ?没有相关表和数据,真没有人知道导致出错的原因 !
Leslie-M 2013-08-14
  • 打赏
  • 举报
回复
有没有哪位帮我看看啊
易优CMS(Eyoucms)是一款简单、易用、易优化、功能全面,开源的企业网站CMS,采用PHP+Mysql架构、且持续更新各类精致企业网站模板,整站模板源码免费下载,让企业网站建设、公司网站建设更简单快捷。易优Eyoucms企业建站系统 1.5.2 更新日志:2021-03-22[安全]修复已知存在的安全漏洞;[新增]广告位置的多种类型,适用于片碎化管理;[新增]批量新增Tag标签的功能;[新增]发布/编辑视频文档,支持批量导入视频链接的功能;[新增]内置腾讯云COS对象存储的逻辑,可以安装COS插件使用;[新增]内置升级模式,可选择升级新版本,也可选择只升级安全补丁;[新增]整点秒杀、优惠券(仅限于可视化商城小程序插件内使用);[新增]商品评价功能,请参考comment标签手册(仅限于专业版商业授权);[新增]商城退换货售后处理(仅限于专业版商业授权);[新增]内置问答悬赏模型(仅限于专业版商业授权);[优化]后台更多功能加入到管理员权限控制里;[优化]tag列表页不存在的URL直接显示404;[优化]后台会员列表支持用户名或昵称搜索;[优化]前台列表页调用arclist标签后,不会生成多余的分页静态文件;[优化]管理员可以预览待审核稿件的逻辑,保护内容隐私被盗取;[优化]插件内置升级前后置方法,便于更好的插件在线升级;[优化]后台更多功能新增通知管理入口;[优化]后台栏目支持上级移动,栏目保持最多3级的逻辑;[优化]后台商品规格的规格值支持是否同步更新;[优化]多图上传的用户体验;[优化]广告管理逻辑体验;[修复]在IE系列浏览器中,会员升级支付无法进行;[修复]样式影响了留言导出按钮被隐藏;[修复]微站点开启之后,手机端会员中心无法退出的问题;[修复]回收站还原文档报错的问题;[修复]视频模型发布文档不显示编辑器的问题;[修复]部分前台模板的手机端收藏弹窗的兼容性;[修复]后台编辑会员,没有邮箱或手机属性报错;[修复]微信支付支持异步回调,确保用户行为中断不影响业务自动处理;[修复]后台站内信通知删除报错的问题;[修复]做了一些已知问题的修正和完善。
易优企业官网系统是一款开源的THinkphp5.0 的 Blog系统,其衍生于优秀的内容管理系统易优cms。 易优企业官网系统秉承了易优CMS的先进设计理念,并且专注于企业。 易优企业官网系统特点: 简单方便 易优企业官网系统安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,无需事先进行任何设置操作。 要进行网站设置也十分简单,几分钟就可以完成。 易优企业官网系统功能介绍: 1、会员系统 2、支付功能 3、标签功能 4、熊掌号提交功能 5、文章发布功能 6、SEO设置功能 7、多语言版(后台一键开启) 8、插件功能 9、多语言功能 10、水印功能 易优企业官网系统安装环境要求: 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL 5.1 及以上 本地电脑推荐使用PHPstudy安装,及安装在合适的网站空间、虚拟主机上。 默认后台 域名/login.php 易优企业官网系统更新日志: 1、[安全]修复已知存在的安全漏洞; 2、[新增]广告位置的多种类型,适用于片碎化管理; 3、[新增]批量新增Tag标签的功能; 4、[新增]发布/编辑视频文档,支持批量导入视频链接的功能; 5、[新增]内置腾讯云COS对象存储的逻辑,可以安装COS插件使用; 6、[新增]内置升级模式,可选择升级新版本,也可选择只升级安全补丁; 7、[新增]整点秒杀、优惠券(仅限于可视化商城小程序插件内使用); 8、[新增]商品评价功能,请参考comment标签手册(仅限于专业版商业授权); 9、[新增]商城退换货售后处理(仅限于专业版商业授权); 10、[新增]内置问答悬赏模型(仅限于专业版商业授权); 11、[优化]后台更多功能加入到管理员权限控制里; 12、[优化]tag列表页不存在的URL直接显示404; 13、[优化]后台会员列表支持用户名或昵称搜索; 14、[优化]前台列表页调用arclist标签后,不会生成多余的分页静态文件; 15、[优化]管理员可以预览待审核稿件的逻辑,保护内容隐私被盗取; 16、[优化]插件内置升级前后置方法,便于更好的插件在线升级; 17、[优化]后台更多功能新增通知管理入口; 18、[优化]后台栏目支持上级移动,栏目保持最多3级的逻辑; 19、[优化]后台商品规格的规格值支持是否同步更新; 20、[优化]多图上传的用户体验; 21、[优化]广告管理逻辑体验; 22、[修复]在IE系列浏览器中,会员升级支付无法进行; 23、[修复]样式影响了留言导出按钮被隐藏; 24、[修复]微站点开启之后,手机端会员中心无法退出的问题; 25、[修复]回收站还原文档报错的问题; 26、[修复]视频模型发布文档不显示编辑器的问题; 27、[修复]部分前台模板的手机端收藏弹窗的兼容性; 28、[修复]后台编辑会员,没有邮箱或手机属性报错; 29、[修复]微信支付支持异步回调,确保用户行为中断不影响业务自动处理; 30、[修复]后台站内信通知删除报错的问题; 31、[修复]做了一些已知问题的修正和完善;
工业电子元件开源系统是一款开源的THinkphp5.0 的 Blog系统,其衍生于优秀的内容管理系统易优cms。 工业电子元件开源系统秉承了易优CMS的先进设计理念,并且专注于工业。 工业电子元件开源系统特点: 简单方便 工业电子元件开源系统安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,无需事先进行任何设置操作。 要进行网站设置也十分简单,几分钟就可以完成。 工业电子元件开源系统功能介绍: 1、会员系统 2、支付功能 3、标签功能 4、熊掌号提交功能 5、文章发布功能 6、SEO设置功能 7、多语言版(后台一键开启) 8、插件功能 9、多语言功能 10、水印功能 工业电子元件开源系统安装环境要求: 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL 5.1 及以上 本地电脑推荐使用PHPstudy安装,及安装在合适的网站空间、虚拟主机上。 默认后台 域名/login.php 工业电子元件开源系统更新日志: 1、[安全]修复已知存在的安全漏洞; 2、[新增]广告位置的多种类型,适用于片碎化管理; 3、[新增]批量新增Tag标签的功能; 4、[新增]发布/编辑视频文档,支持批量导入视频链接的功能; 5、[新增]内置腾讯云COS对象存储的逻辑,可以安装COS插件使用; 6、[新增]内置升级模式,可选择升级新版本,也可选择只升级安全补丁; 7、[新增]整点秒杀、优惠券(仅限于可视化商城小程序插件内使用); 8、[新增]商品评价功能,请参考comment标签手册(仅限于专业版商业授权); 9、[新增]商城退换货售后处理(仅限于专业版商业授权); 10、[新增]内置问答悬赏模型(仅限于专业版商业授权); 11、[优化]后台更多功能加入到管理员权限控制里; 12、[优化]tag列表页不存在的URL直接显示404; 13、[优化]后台会员列表支持用户名或昵称搜索; 14、[优化]前台列表页调用arclist标签后,不会生成多余的分页静态文件; 15、[优化]管理员可以预览待审核稿件的逻辑,保护内容隐私被盗取; 16、[优化]插件内置升级前后置方法,便于更好的插件在线升级; 17、[优化]后台更多功能新增通知管理入口; 18、[优化]后台栏目支持上级移动,栏目保持最多3级的逻辑; 19、[优化]后台商品规格的规格值支持是否同步更新; 20、[优化]多图上传的用户体验; 21、[优化]广告管理逻辑体验; 22、[修复]在IE系列浏览器中,会员升级支付无法进行; 23、[修复]样式影响了留言导出按钮被隐藏; 24、[修复]微站点开启之后,手机端会员中心无法退出的问题; 25、[修复]回收站还原文档报错的问题; 26、[修复]视频模型发布文档不显示编辑器的问题; 27、[修复]部分前台模板的手机端收藏弹窗的兼容性; 28、[修复]后台编辑会员,没有邮箱或手机属性报错; 29、[修复]微信支付支持异步回调,确保用户行为中断不影响业务自动处理; 30、[修复]后台站内信通知删除报错的问题; 31、[修复]做了一些已知问题的修正和完善;
欧式风格家具网站源码是一款开源的THinkphp5.0 的 Blog系统,其衍生于优秀的内容管理系统易优cms。 欧式风格家具网站源码秉承了易优CMS的先进设计理念,并且专注于家居行业。 欧式风格家具网站源码特点: 简单方便 欧式风格家具网站源码安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,无需事先进行任何设置操作。 要进行网站设置也十分简单,几分钟就可以完成。 欧式风格家具网站源码功能介绍: 1、会员系统 2、支付功能 3、标签功能 4、熊掌号提交功能 5、文章发布功能 6、SEO设置功能 7、多语言版(后台一键开启) 8、插件功能 9、多语言功能 10、水印功能 欧式风格家具网站源码安装环境要求: 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL 5.1 及以上 本地电脑推荐使用PHPstudy安装,及安装在合适的网站空间、虚拟主机上。 默认后台 域名/login.php 欧式风格家具网站源码更新日志: 1、[安全]修复已知存在的安全漏洞; 2、[新增]广告位置的多种类型,适用于片碎化管理; 3、[新增]批量新增Tag标签的功能; 4、[新增]发布/编辑视频文档,支持批量导入视频链接的功能; 5、[新增]内置腾讯云COS对象存储的逻辑,可以安装COS插件使用; 6、[新增]内置升级模式,可选择升级新版本,也可选择只升级安全补丁; 7、[新增]整点秒杀、优惠券(仅限于可视化商城小程序插件内使用); 8、[新增]商品评价功能,请参考comment标签手册(仅限于专业版商业授权); 9、[新增]商城退换货售后处理(仅限于专业版商业授权); 10、[新增]内置问答悬赏模型(仅限于专业版商业授权); 11、[优化]后台更多功能加入到管理员权限控制里; 12、[优化]tag列表页不存在的URL直接显示404; 13、[优化]后台会员列表支持用户名或昵称搜索; 14、[优化]前台列表页调用arclist标签后,不会生成多余的分页静态文件; 15、[优化]管理员可以预览待审核稿件的逻辑,保护内容隐私被盗取; 16、[优化]插件内置升级前后置方法,便于更好的插件在线升级; 17、[优化]后台更多功能新增通知管理入口; 18、[优化]后台栏目支持上级移动,栏目保持最多3级的逻辑; 19、[优化]后台商品规格的规格值支持是否同步更新; 20、[优化]多图上传的用户体验; 21、[优化]广告管理逻辑体验; 22、[修复]在IE系列浏览器中,会员升级支付无法进行; 23、[修复]样式影响了留言导出按钮被隐藏; 24、[修复]微站点开启之后,手机端会员中心无法退出的问题; 25、[修复]回收站还原文档报错的问题; 26、[修复]视频模型发布文档不显示编辑器的问题; 27、[修复]部分前台模板的手机端收藏弹窗的兼容性; 28、[修复]后台编辑会员,没有邮箱或手机属性报错; 29、[修复]微信支付支持异步回调,确保用户行为中断不影响业务自动处理; 30、[修复]后台站内信通知删除报错的问题; 31、[修复]做了一些已知问题的修正和完善;

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧