Oswaldo:
Se me ocurre que te crees un par de vista y dada la condición que
deseas ... ejecutas una o la otra.
Saludos,
Gilberto.
El mar, 30-09-2008 a las 13:46 +0200, Oswaldo Hernández escribió:
> Hola,
>
> Tengo un caso un poco especial que me gustaria saber si es posible hacerlo
> utilizando rules o de
> cualquier otra forma. Intentaré explicarme:
>
> . Una tabla:
>
> create table tabla (
> a integer
> );
>
> . Una vista sobre la tabla que 'prepara los datos'
>
> create view v_tabla as
> select
> a,
> prepara_datos(a) as a_preparado
> from tabla;
>
> . Una aplicacion que monta automaticamente las consultas y realiza el
> siguiente query
>
> select
> a_preparado
> from v_tabla
> where
> a_preparado = 10;
>
> El problema es que necesitaria que, mediante una rule, se modificara la
> clausula where para que esta
> se aplicara sobre el campo 'a' en vez de sobre el campo 'a_preparado'. Es
> decir, que al ejecutar el
> query anterior lo que realmente se ejecute sea:
>
> select
> a_preparado
> from v_tabla
> where a = 10;
>
> He estado leyendo la documentacion sobre rules, pero no veo que se pueda
> modificar el where para
> subtituir el campo sobre el que se realiza la condición.
>
> ¿Hay alguna posibilidad?
>
>
> Gracias.
--
TIP 5: �Has le�do nuestro extenso FAQ?
http://www.postgresql.org/docs/faqs.FAQ.html