On Thursday, January 25 Furesz Peter
wrote:
>How can I loop a PL/PgSQL recorset variable? The example: > DECLARE > v_tmp_regi RECORD; > v_tmp RECORD; > BEGIN > SELECT * INTO v_tmp_regi FROM sulyozas_futamido sf WHERE >sf.termekfajta_id= > a_termekfajta_id AND sf.marka_id=a_marka_id; > > DELETE FROM sulyozas_futamido; > > FOR v_tmp IN v_tmp_regi LOOP > --I would like to work here with the old recordset! > END LOOP; > ^^^^^^^^^^^^^^ > -- This is not working !!! > > END; Its difficult to determine what you're trying
to accomplish in the loop, but you may want to refer to 37.7.4. Looping Through Query
Results in http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html#PLPGSQL-RECORDS-ITERATING
Note that DELETE FROM sulyozas_futamido; will
delete ALL records in sulyozas_futamido!
Perhaps: FOR v_tmp IN SELECT * FROM sulyozas_futamido
sf
WHERE sf.termekfajta_id
= a_termekfajta_id AND sf.marka_id=a_marka_id;
LOOP DELETE FROM
sulyozas_futamido WHERE (some condition related to v_tmp???)
Work with old record now in
v_tmp
END LOOP;
Regards,
George
|