Sorry for my bad english!
Can I use "DECLARE CURSOR" in plpgsql function?
I have :
create table ipacc(ip_from inet,
sourse_ports int2,
ip_to inet,
dist_port,
bytes int4,
packets int4,
when_time datetime)
I want to build report (I'm planing step):
1. CURSOR select distinct ip_from from ipacc;
2. FETCH from cursor into variable;
3. select sum(bytes) from ipacc where ip_from = variable;
4. Do while FETCH return row;
I do:
CREATE FUNCTION report() RETURNS text AS '
BEGIN WORK;
DECLARE
host_cursor CURSOR FOR SELECT DISTINCT ip_from FROM ipacc;
host record;
host_sum int4;
BEGIN
WHILE (FETCH FROM host_cursor INTO :host) LOOP;
SELECT sum(bytes) from ipacc where ip_from=host;
END LOOP;
END;
psql report - CREATE
I do: select report();
psql report - NOTICE: plpgsql: ERROR during compile of report near line
3
ERROR: parse error at or near "CURSOR"
Where I do mistake?
--
---------
Grigoriy G. Vovk