MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 2482|回复: 2
打印 上一主题 下一主题

MYSQL存储过程,实在无法,求解释??

[复制链接]
跳转到指定楼层
1#
发表于 2012-6-18 09:39:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 business124 于 2012-6-18 10:41 编辑

  1. <P> BEGIN
  2.    
  3.     declare Pmax int; -- 记录表中最大ID
  4.     declare Pmin int; -- 记录表中最小ID
  5.     declare PID smallint(6);-- 记录当前统计Pack_ID,用于与总表userservicerelation联系,统计Pack_ID的人气
  6.    
  7.     delete from packcollectionrank;-- 清空表
  8.     insert into packcollectionrank(Pack_ID) select distinct Pack_ID from products ;-- 插入所有Pack_ID到统计表packcollectionrank</P>
  9. <P>    select MAX(ID) into Pmax from packcollectionrank;
  10.     select MIN(ID) into Pmin from packcollectionrank;</P>
  11. <P>    while Pmin<=Pmax do-- 插入所有Pack_ID的人气,没订阅默认为0
  12.        select Pack_ID into PID from tdxtb_packcollectionrank where ID=Pmin;</P>
  13. <P>       set @sql1=CONCAT("UPDATE packcollectionrank SET Collection_count=(SELECT COUNT(*) FROM userservicerelation WHERE Pack_ID=",PID," AND Relation_Status=6) WHERE Pack_ID=",PID,";");  
  14.        PREPARE rankpack1 FROM @sql1;
  15.        EXECUTE rankpack1;   </P>
  16. <P>       set Pmin=Pmin+1;
  17.     end while;
  18.     -- 插入
  19. END
  20. </P>
复制代码
本机执行:时间: 0.250ms

Procedure executed successfully
受影响的行: 1

换机子执行:
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 Pmax int;
MYSQL
  1. SELECT version();
复制代码
后版本都是5.5.17
这怎么解释,求高人指点!!

  

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2012-6-19 11:11:35 | 只看该作者
能把整个存储过程贴出来,还有完整的错误信息。。
3#
 楼主| 发表于 2012-6-26 17:44:08 | 只看该作者
hm3030 发表于 2012-6-19 11:11
能把整个存储过程贴出来,还有完整的错误信息。。

已解决,对方犯了个小错误,汗~~一上午。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-5 17:08 , Processed in 0.069265 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表