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;
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