Re: Parametro en vista

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Parametro en vista
Date: 2009-01-27 20:38:26
Message-ID: f205bb120901271238j2735d8f6ud68b075e20fa638f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 27 de enero de 2009 18:33, Gilberto Castillo Martínez
<gilberto(dot)castillo(at)etecsa(dot)cu> escribió:
> El mar, 27-01-2009 a las 14:45 -0500, yanguma escribió:
>>
>> 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?
>
> Te puedes hacer una función donde le pases de parametro el campo de
> criterio a buscar y la salida los registros que realmente le interesa a
> cada usuario
>
> Algo así:
>
> CREATE OR REPLACE FUNCTION listarcampo(periodo text)
> RETURNS SETOF tu_tabla AS
> $BODY$
> select * from tu_tabla
> where case when $1 is not null then periodo like '%' || $1 ||
> '%' else true end;
> $BODY$
> LANGUAGE 'sql' VOLATILE;
>
>>
>> Gracias
>>
>
> --
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>

Otra opción es prepare statements. Pero te aconsejo que realices
explain analyze antes de poner en producción.
Los prepare pueden recibir parametros y suelen ser interesantes opciones
para consultas pre armadas.

--
Emanuel Calvo Franco
ArPUG / AOSUG Member
Postgresql Support & Admin

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-01-27 20:41:39 Re: Parametro en vista
Previous Message Gilberto Castillo Martínez 2009-01-27 20:37:07 Re: [Probablemente Spam] pgagent