Re: recorrer una record

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

In response to

Browse pgsql-es-ayuda by date

  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