MySQL社区

标题: MYSQL存储过程,实在无法,求解释?? [打印本页]

作者: business124    时间: 2012-6-18 09:39
标题: MYSQL存储过程,实在无法,求解释??
本帖最后由 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
这怎么解释,求高人指点!!

  


作者: hm3030    时间: 2012-6-19 11:11
能把整个存储过程贴出来,还有完整的错误信息。。
作者: business124    时间: 2012-6-26 17:44
hm3030 发表于 2012-6-19 11:11
能把整个存储过程贴出来,还有完整的错误信息。。

已解决,对方犯了个小错误,汗~~一上午。





欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2