-----Mensaje original-----
De: Oswaldo Hernández [mailto:[EMAIL PROTECTED]
Enviado el: Martes, 30 de Septiembre de 2008 06:46 a.m.
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Modificar WHERE en rule


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.
-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
agradecerán
******************************************

Explicate un poco mejor :
Dices : 
. Una aplicacion que monta automaticamente las consultas y realiza el
siguiente query

     select
         a_preparado
     from v_tabla
     where
         a_preparado = 10;

Aplicación ? o un query en POSTGRESQL ?

Cuando tengo ese tipo de dificultades prefiero hacerlo desde mi aplicación y
no desde la BD.
Miguel Canchas
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a