本帖最后由 hdu09075355 于 2013-05-29 16:37:27 编辑

解决方案 »

  1.   

    直接
    WHILE  (select count(*) from ProWage)>2*(select count(*) from ProWage where Wage>=@PWage) 
    do update
    end while
      

  2.   

    ELIMITER $$
    DROP PROCEDURE IF EXISTS `Sum_wage`$$
     
    CREATE DEFINER = `root`@`localhost` PROCEDURE `Sum_wage`(pwage INT,awage INT)
    BEGIN
    tt:WHILE 1=1 DO
    IF (SELECT COUNT(*) FROM ProWage)>2*(SELECT COUNT(*) FROM ProWage WHERE Wage>=@PWage) 
    THEN UPDATE ProWage SET Wage=Wage+AWage;
    ELSE
    LEAVE tt;
    END IF;
    END WHILE;END$$
    DELIMITER ;
      

  3.   

    嗯。两个都可以。谢谢哈!还有个问题就是Mysql存储过程中不支持GOTO,LABEL吗?