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:<
http://espanol.sports.yahoo.com/
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 |