帮看一下怎么不好使呢?
SQL code
CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_sort2()` BEGIN DECLARE memberId INT ; DECLARE cur_sort INT ; DECLARE b_sort INT ; DECLARE lnumber INT ; DECLARE sort INT ; DECLARE id INT ; DECLARE STOP INT DEFAULT 0; DECLARE cnt INT DEFAULT 0; DECLARE tempId INT DEFAULT 0; DECLARE maxId INT DEFAULT 0; DECLARE flag INT DEFAULT 0; DECLARE tId INT DEFAULT 0; DECLARE asql varchar(500); DECLARE cur CURSOR FOR select id,memberId , sort from noGoodsPoint g inner join memberinfo m on m.memberid=g.memberid order by m.points desc ; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET STOP=1; set b_sort=0; SELECT loopNumber INTO lnumber FROM tbl_loop; OPEN cur; FETCH cur INTO id, memberId,cur_sort ; WHILE STOP <> 1 DO set sort=0 ; -- select sort into sort from nogoodspoint; --where sort< cur_sort and memberId= memberId order by sort limit 0,1 if cur_sort<(lnumber+sort) then update nogoodspoint set sort= sort+lnumber where id=id ; else update nogoodspoint set sort=b_sort+1 where id=id; end if; set b_sort=sort; FETCH cur INTO id, memberId,cur_sort ; END WHILE; CLOSE cur; end;
作者: star20029399 发布时间: 2011-06-03
问题是什么? 创建的时候提示出错?还是执行的结果没有达到预期要求?
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
作者: ACMAIN_CHM 发布时间: 2011-06-03