From: | "Christian Kindler" <christian(dot)kindler(at)gmx(dot)net> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | how to moce back in refcursor |
Date: | 2007-08-13 19:29:52 |
Message-ID: | 20070813192952.76820@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi
I have never worked with cursors but for now I have to step back on special events to calculate a difference. So I have this sample code tested but I can not "move" in my cursor. I have lokke at docs but this didn't help me. Can you say how to declare my cursor to step back?
Thank You
Chris
PS code sample
create table fimi.eodbar(fi_id int8, market_id int8);
insert into fimi.eodbar values(322,200);
create or replace function fimi.test("fiid" int8) returns setof int as
$BODY$
DECLARE
cur1 REFCURSOR;
foo int;
BEGIN
OPEN cur1 FOR execute('select market_id from fimi.eodbar where fi_id=' || "fiid");
loop
fetch cur1 into foo;
if not found then
exit ;
else
-- move -1 in cur1;
fetch cur1 into foo;
return next foo;
end if;
end loop;
close cur1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION fimi.getfoo(bpchar) OWNER TO fimi;
select * from fimi.test(322);
--
cu
Chris
GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail
From | Date | Subject | |
---|---|---|---|
Next Message | Christian Kindler | 2007-08-13 19:34:27 | Re: Comparing two slices within one table efficiently |
Previous Message | Andrew Kroeger | 2007-08-13 19:25:16 | Re: Comparing two slices within one table efficiently |