From: | "Cecilia Arruzazabala" <arruzazabala(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con array en plpgsql |
Date: | 2006-05-31 11:59:19 |
Message-ID: | bc9fe0270605310459u114ac236i8a27f4b455df588c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 5/30/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
Claro, veamos la funcion visita(), el contenido de las tablas, y los
> parametros con los que invocas la funcion.
Aca va la función que faltaba.
Muchas Gracias.
Cecilia.
CREATE OR REPLACE FUNCTION public.visita(numeric,numeric,numeric,numeric[][])
RETURNS numeric [][] AS
'
DECLARE
tiempo integer;
reg_ant RECORD;
visita_c integer[][];
BEGIN
tiempo = $3;
visita_c[$1][1]=2;
tiempo=tiempo+1;
visita_c[$1][3]=tiempo;
--
FOR reg_ant IN SELECT * FROM tabla_antecesores
where codigo2=$2 and codigo3=$1 LOOP
if visita_c[reg_ant.codigo4][1]=1 then
visita_c[reg_ant.codigo4][2]=$1;
perform visita(reg_ant.codigo4,$2,tiempo,visita_c);
end if;
END LOOP;
visita_c[$1][1]=3;
tiempo=tiempo+1;
visita_c[$1][4]=tiempo;
return visita_c;
END;
'
LANGUAGE 'plpgsql'
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-05-31 12:03:01 | Re: Como detectar el Evento de Shut down del postmaster? |
Previous Message | Alvaro Herrera | 2006-05-31 11:55:55 | Re: Select for update nowait cancela la transacción |