On 1/25/07, Furesz Peter <spam@srv.hu> 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;
I think what you want to do is this:
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_temp_regi IN SELECT * FROM sulyozas_futamido sf WHERE
sf.termekfajta_id = a_termekfajta_id AND sf.marka_id=a_marka_id LOOP
END LOOP;
FOR v_tmp IN v_tmp_regi LOOP
--I would like to work here with the old recordset!
END LOOP;
^^^^^^^^^^^^^^
END;