From: | Raul Andres Gutierrez Alejo <raulandrez(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: recorrer una record |
Date: | 2013-01-29 00:40:38 |
Message-ID: | 51071A86.5090101@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
CREATE OR REPLACE FUNCTION test(e_num integer)
RETURNS integer AS
$BODY$
DECLARE
registro RECORD;
registro_anterior RECORD;
BEGIN
registro_anterior:=NULL;
FOR registro IN SELECT num , nombre FROM tabla LOOP
IF registro.num = e_num THEN
IF registro_anterior IS NULL THEN
RAISE NOTICE ' NO HAY ANTERIOR';
RETURN NULL;
ELSE
RAISE NOTICE ' ANTERIOR ES
%',registro_anterior.nombre;
RETURN registro_anterior.num;
END IF;
END IF;
registro_anterior=registro;
END LOOP;
RAISE NOTICE ' NO ENCONTRADO';
RETURN NULL ;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
esta es la logica, no funciona bien la validación del primer registro.
IF registro_anterior IS NULL THEN
El 28/01/2013 07:21 p.m., Roberto A. escribió:
> Buenas a toda la comunidad.
>
> Espero puedan ayudarme con un problema que me tiene ya varios dias sin
> poderlo resolver.
>
> Tengo una funcion en la cual tengo un bucle for loop que recorrer una
> record y es aqui donde no se como hacer para que cuando dentro del for
> al encontrar un valor determinado acceda a los valores de record en
> una fila anterior.
>
> ej:
>
> el record tiene estas tabla cargada
>
> num | nombre
> 1 | infantil
> 6 | juvenil
> 9 | majores
> 13 | libre
>
> en la funcion tengo como paremetro el valor de la columna "num"
> para este ejemplo pondre el 9 como parametro de entrada
> al recorrer el record y se encuntre en la fila con num igual a 9
> necesito capturar en una variable el valor de num pero de la fila
> anterio que en este caso seria 6 .
>
> no se si existe alguna forma usando records para obtener este valor o
> tal vez existe otra forma de hacer esto
>
> espero puedan ayudarme y de antemano gracias
>
>
> Atte: Roberto A.
>
>
>
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2013-01-29 01:26:26 | Re: recorrer una record |
Previous Message | Roberto A. | 2013-01-29 00:21:27 | recorrer una record |