CREATE OR REPLACE FUNCTION DailyStatsCaculate() returns int8 AS ' DECLARE queries RECORD; curs1 REFCURSOR; TheDate date; QueryTotal int4; BEGIN select (current_date - 1)::date INTO TheDate; FOR queries IN select id, query from daily_stats LOOP OPEN curs1 FOR execute queries.query; FETCH curs1 INTO QueryTotal; EXECUTE ''INSERT INTO daily_stats_data (daily_stats_id, date, value) values ('' || queries.id || '','' || quote_literal(TheDate) || '','' || quote_literal(QueryTotal) || '')''; CLOSE curs1; END LOOP; return 0; END ' LANGUAGE 'plpgsql';