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.
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda