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';