[Pgsql-ayuda] trigger solo en algunos campos...

sandrigo lezcano alkafes@yahoo.com
Thu, 28 Aug 2003 15:33:00 -0500 (CDT)


mm... me encontre con esto en sybase...
un trigger after update _pero_ solo en
algunos campos de la tabla...

o sea q si no esta dicho campo en la lista
q le definis en el trigger, en estos campos..
entonces se realiza el UPDATE sin tener q
pasar por el trigger....   

puedo simular algo parecido en PostgreSQL ???

va el codigo en sybase:

create trigger 
   tua_cajas_habilitadas after update 
   of    
   habilitacion,cajero,caja,fecha_apertura,
   hora_apertura,fecha_cierre,hora_cierre 
   
   order 1 on caa.cajas_habilitadas 
   referencing old as old new as new
   for each row 

   begin 
     if exists(select 1 from pagos_clientes 
       where habilitacion = old.habilitacion) then 
         raiserror 99999 '<*No se pueden modificar 
                    habilitaciones con pagos cargados*>'
      end if;
      if bitacora('cajas_habilitadas','U',
             'habilitacion=' || new.habilitacion || ';'
              || 'caja=' || new.caja || ';' 
              || 'cajero=' || new.cajero || ';'
              || 'fecha_apertura=' || new.fecha_apertura || ';'      
              || 'hora_apertura=' || new.hora_apertura || ';'
              || 'fecha_cierre=' || new.fecha_cierre || ';'
              || 'hora_cierre=' || new.hora_cierre || ';'
              || 'estado=' || new.estado) <> 0 then 
                   raiserror 99999 '<*Error al crear registro de  
                       auditoría*>'
      end if; 
end


=====
--                             ICQ Web-based!!
----------------------------------------------
Sandrigo Lezcano Jara           ICQ: 143590717
Asuncion, Paraguay           http://go.icq.com

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com