All pastes #776892 Raw Edit

Mine

public text v1 · immutable
#776892 ·published 2007-11-16 10:51 UTC
rendered paste body
DROP PROCEDURE IF EXISTS sumstats;
delimiter //
CREATE PROCEDURE sumstats (IN startdate CHAR(20), IN enddate CHAR(20))
BEGIN
        DECLARE sum_bytes, userid_int, b INT;
        DECLARE sum_cost DOUBLE;
        DECLARE cur_1 CURSOR FOR SELECT sum(bytes), sum(cost), userid FROM stats WHERE storetime BETWEEN startdate AND enddate GROUP BY userid;
        DECLARE CONTINUE HANDLER FOR NOT FOUND
            SET b=1;
        OPEN cur_1;
        REPEAT
            FETCH cur_1 INTO sum_bytes, sum_cost, userid_int;
            IF userid_int IS NOT NULL THEN
                SELECT sum_bytes, sum_cost, userid_int;
                DELETE FROM stats_cache WHERE storetime = startdate AND userid = userid_int;
                INSERT INTO stats_cache ()VALUES (startdate, sum_bytes, userid_int, sum_cost);
            END IF;
            UNTIL b=1
        END REPEAT;
        CLOSE cur_1;

        SELECT * from stats_cache;
END;//