--- El mar 27-ene-09, yanguma <ricardo.yang...@gmail.com> escribió:

> De: yanguma <ricardo.yang...@gmail.com>
> Asunto: [pgsql-es-ayuda] Parametro en vista
> A: "postgresayuda" <pgsql-es-ayuda@postgresql.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/
--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a