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

Responder a