From: | Jaime Rivera <jrivera(at)ende(dot)bo> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, jaime(at)2ndquadrant(dot)com |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Problema al ejecutar consulta |
Date: | 2011-05-04 19:43:57 |
Message-ID: | 4DC1AC7D.60005@ende.bo |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Bueno es una función que devuelve un conjunto de registros, esta
función lo que hace es:
1. CREATE TEMP TABLE tt_tpr_presup_grafico;
2. CREA UNA CONSULTA PARA OBTENCIÓN DE DATOS (COMO CADENA DE TEXTO)
3. REALIZA UN FOR PARA CADA REGISTRO DE LA CONSULTA CREADA EN EL PUNTO 2
3.1 INSERTA 12 REGISTROS A LA TABLA TEMPORAL PARA CADA CICLO DEL FOR
4. CREA OTRA CONSULTA PARA OBTENCIÓN DE DATOS (COMO CADENA DE TEXTO)
5. REALIZA UN FOR PARA CADA REGISTRO DE LA CONSULTA CREADA EN EL PUNTO 4
5.1 ACTUALIZA 12 REGISTROS A LA TABLA TEMPORAL PARA CADA CICLO
DEL FOR
6. DEVUELVE LOS REGISTROS DE LA TABLA TEMPORAL CON:
g_consulta='SELECT periodo,mes,programado,ejecutado
FROM tt_tpr_presup_grafico
order by periodo ';
FOR g_registros in EXECUTE(g_consulta) LOOP
RETURN NEXT g_registros;
END LOOP;
Ese sería el algoritmo básico de la función, las consultas no las puse
porque son un poco largas. También decirles que ejecute la consulta
indicada por Jaime Casanova y no obtengo ningún registro por lo que
pienso que el problema es con la tabla temporal..
Gracias por la ayuda,
Jaime Rivera
On 05/04/2011 03:18 PM, Alvaro Herrera wrote:
> Excerpts from Jaime Rivera's message of mié may 04 16:01:51 -0300 2011:
>> Hola listeros, tengo un problema al ejecutar una consulta con una base
>> de datos postgres 8.1. Lo raro es que en ocasiones ejecuta la consulta
>> sin problemas y en otras ocasiones obtengo el siguiente error:
>>
>> cache lookup failed for relation 16257473
>>
>> Espero que alguien sepa cual es la causa de este error.
> Seguramente es un problema que involucra algo asi como que alguien
> modifica esa tabla y concurrentemente tú la tratas de acceder. O quizás
> se trata de una tabla temporal que está siendo leída desde una función
> plpgsql o algo por el estilo?
>
--
EMPRESA NACIONAL DE ELECTRICIDAD
www.ende.bo
Tel.: (591-4) 4520317 - 4120900
Fax: (591-4) 4520318
---------------------------------------------------------------------------------
Este mensaje ha sido analizado automaticamente por el MailScanner de ENDE
y no han sido detectados virus ni otros contenidos peligrosos.
From | Date | Subject | |
---|---|---|---|
Next Message | Lazaro Rubén García Martinez | 2011-05-04 19:57:42 | RE: PASS DE BASE DE DATOS LOCAL |
Previous Message | Jaime Casanova | 2011-05-04 19:22:37 | Re: Problema al ejecutar consulta |