Re: Problema al ejecutar consulta

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.

In response to

Responses

Browse pgsql-es-ayuda by date

  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