Como volcar un query sobre un array

From: Kernel <jucabapa(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Como volcar un query sobre un array
Date: 2015-07-09 11:31:10
Message-ID: 559E5B7E.1020706@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,

Estoy empezando a crear funciones en plpgsql, y la verdad tengo
bastantes dudas

Tengo que recorrerme varias veces el resultado de un mismo query y la
verdad no se cual es la mejor, la tabla va ha ser grande y sera una
tabla muy concurrida, y necesito que la funcion sea muy rápida

Este es el query

SELECT ubicacion,articulo,lote,sum(entradas-salidas)
FROM movi
WHERE movi.id_contenedor = a407.i_contenedor
GROUP BY ubidacion,articulo,lote
HAVING sum(entradas - salidas) <> 0
ORDER BY ubidacion,articulo,lote

el resultado estará mas o menos entre 0 y 3 filas

Mis dudas :

- ¿la segunda vez que intente hacer un loop, esta en cache y no cuesta ?
- ¿Mejor lo vuelco a un record.array y recorro el array las veces que
necesite? ¿como lo vuelco?

- Declaro un cursor y solo lo habro una vez (con el OPEN) y luego lo
recorro con fecth las veces que necesite?

- y la ultima que se me ocurre y mas limpia, si utilizo sentecias select
sobre esta que actuaria como una subconsulta que si esta en cache iria
rapido (esto ultimo es algo que creo yo)

Algo asi ....

SELECT a. ...
from
(SELECT ubicacion,articulo,lote,sum(entradas-salidas)
FROM movi
WHERE movi.id_contenedor = a407.i_contenedor
GROUP BY ubidacion,articulo,lote
HAVING sum(entradas - salidas) <> 0
ORDER BY ubidacion,articulo,lote)) a
group by a. ....

Gracias ..

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Sotolongo 2015-07-09 13:10:18 Re: Como volcar un query sobre un array
Previous Message Anthony Sotolongo 2015-07-08 21:39:56 Re: Documentar base de datos en postgresql