Holas mira estuve haciendo esto porque lo que yo quiero es que se actualize la tabla2 cuando en la tabla1 se cambie el estado a false segun ese false que esta basado en un boolean que me sirve para eliminar logicamente
CREATE FUNCTION producto_eliminar_tri() RETURNS trigger AS $$ BEGIN IF(TG_OP = 'UPDATE') THEN IF(OLD.estado = false) THEN UPDATE jmb_grupos SET estado='false' where idproducto=OLD.idproducto; END IF; END IF; RETURN NULL; END; $$ Language 'plpgsql'; CREATE TRIGGER eliminar_productos_dependencias AFTER UPDATE on jmb_productos FOR EACH ROW EXECUTE PROCEDURE producto_eliminar_tri(); El 25 de enero de 2010 09:35, José Fermín Francisco Ferreras < [email protected]> escribió: > > > ing. José Fermín Francisco Ferreras > San Francisco de Macorís, Rep. Dom. > > > > > ------------------------------ > Date: Mon, 25 Jan 2010 08:42:06 -0500 > Subject: [pgsql-es-ayuda] Actualizar campos que tienen dependencias Foreign > Key > From: [email protected] > To: [email protected] > > >saludos una consulta. Quiero borrar de una tabla llamada productos un > producto(cuando digo >borrar me refiero a actualizar su estado de true a > false). Pero resulta que este producto tiene >muchas dependencias es llamado > or otras tablas. Como dar de baja a ese producto haciendo >que todas las > dependencias pasen de true a false. Atraves de un trigger(maneja potsgres > >triggers). Porque el update on cascade no me serviria en este caso ya que > no estoy actualizando >el id si no un campo diferente a este todas las > tablas manejan campo estado el cual es true si >esta activo y false si esta > eliminado. Gracias por su colaboracion de antemano. > > > > > Podrias probar esto, lo hice medio rapido, si tiene errores tendrias q > corregirlo, pero creo va por donde quieres. > > > > CREATE OR REPLACE FUNCTION esquema.cambiar_status() > RETURNS trigger > LANGUAGE plpgsql > AS $function$ > begin > UPDATE tabla SET > campo = false > where codigo=new.codigo; > return new; > end; > $function$ > > > > > > ------------------------------ >
