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