cursors in plpgsql function??
Hi!
I have problem with declaring a cursor for a query in a plpgsql. I got
compile error, and parse error at or near cursor.
Here my function for a trigger:
What can be the problem?
Thanks a lot
Attila
create function p_kotogep() returns opaque as '
declare
ajanlid ajanlati_konyv_p.ajanlat_id%TYPE;
userid felhasznalo.user_id%TYPE;
megidop timestamp;
termekid termek.termek_id%TYPE;
menny portfolio.szabad_db%TYPE;
arr portfolio.szabad_db%TYPE;
iran ajanlati_konyv_p.irany%TYPE;
erv timestamp;
hany int4;
piar bool;
aktar termek.arfolyam%TYPE;
begin work;
select count(ajanlat_id) into hany from
ajanlati_konyv_p;
-- SOMEWHERE HERE I GET ALWAYS ERROR
declare ajanlatok cursor for select * from
ajanlati_konyv_p;
for i in 1..hany loop
fetch next from ajanlatok into
ajanlid, userid, megidop, termekid,
menny, arr, piar, iran, erv;
aktar= p_aktar(termekid);
if setup_olv(1) then -- arjegyzovel
jatszunk
if iran = 1 then -- vetel
if aktar <= arr then
insert into kotes_naplo_p (vevo_id,
elado_id, termek_id, ar, mennyiseg, szabad_valt)
values (userid, 1, termekid, arr, menny,
trktsg (menny, arr, 1) );
delete from ajanlati_konyv_p where
ajanlati_id = ajanlid;
else
end if;
else
if aktar >= arr then
insert into kotes_naplo_p (vevo_id,
elado_id, termek_id, ar, mennyiseg, szabad_valt)
values (1, userid, termekid, arr, menny,
trktsg (menny, arr, 1) );
delete from ajanlati_konyv_p where
ajanlati_id = ajanlid;
else
end if;
end if;
end if ; -- arjegyzovel jatszunk vege
end loop;
close ajanlatok;
commit work;
return NULL;
;
' language 'plpgsql';
trigger paj_kot on ajanlati_konyv_p;
trigger paj_kot
after insert on ajanlati_konyv_p
for each row
execute procedure p_kotogep();
attika@elender.hu
http://www.bke.hu/~attika