Re: Parametro en vista

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org>, yanguma <ricardo(dot)yanguma(at)gmail(dot)com>
Subject: Re: Parametro en vista
Date: 2009-01-27 20:30:20
Message-ID: 774285.44982.qm@web63704.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--- El mar 27-ene-09, yanguma <ricardo(dot)yanguma(at)gmail(dot)com> escribió:

> De: yanguma <ricardo(dot)yanguma(at)gmail(dot)com>
> Asunto: [pgsql-es-ayuda] Parametro en vista
> A: "postgresayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> Fecha: martes, 27 enero, 2009, 4:45 pm
> Buenas tardes
>
> Quiero solicitarle ayuda para le creación de una vista que
> reciba
> parametros, estuve leyendo el tema en correos anteriores,
> pero no entiendo
> la solucciion o estoy bloqueado..
>
> La pregunta concreta es
>
> Tengo una vista que me obtiene los datos de una base de
> datos de 1 millon de
> registro, esa vista tiene un campo que es el periodo, los
> informes o lo que
> el usuario final desea ver se base en esta consulta, pero
> siempre ve toda la
> información y no la que necesita, entonces opte por
> pasarle parmetros
> atravez de una tabla que toma los datos que el usuario
> consulta.. Esta es la
> forma correcta?
>
> O existe otra forma.. me la pueden explicar?
>
> Gracias

Mira, es mas o menos correcta, puesto que sin duda funciona, no es la mejor.

Te tiro otras dos posibilidades la de crear una funcion sql

1 con una funcion sql

* central.cdocumentos_acreedores_pendientes vista que devuelve todos

CREATE OR REPLACE FUNCTION central.fnc_acree_pendiente(nempresa integer, nmoneda integer)
RETURNS SETOF central.cdocumentos_acreedores_pendientes AS
$BODY$
select id_documentos,serie,numero,fecha,id_empresa,
categoria_empresa,id_moneda,cotizacion,total, pagado,
pendiente from central.cdocumentos_acreedores_pendientes
where id_empresa = $1 and id_moneda = $2
order by fecha
$BODY$
LANGUAGE 'sql' VOLATILE;
ALTER FUNCTION central.fnc_acree_pendiente(integer, integer) OWNER TO postgres;

Como ves recibe dos parametros que con el where actuan en la condicion.

2 posiblilidad.

Yo uso vb, y defino un recordset con el select a la consulta que trae todos, solo que con una condicion que no traiga registros, cuando en el formulario recibo los parametros, entonces armo el select con el where y redefino el recordset, lo refresco y listo.

Cual es mejor, a mi me da lo mismo, pero si es una vista actualizable con triggers y voy a permitir que se modifique desde un datagrid directamete, entonces opto por la segunda.

Si quiero tirar consultas, entonces mejor la primera y con crystal report funciona muy bien.

Atte.
Gabriel Colina

¡Todo sobre la Liga Mexicana de fútbol! Estadisticas, resultados, calendario, fotos y más:&lt;
http://espanol.sports.yahoo.com/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo Martínez 2009-01-27 20:33:36 Re: Parametro en vista
Previous Message Javier Aquino H. 2009-01-27 20:25:28 RE: Parametro en vista