ing. José Fermín Francisco Ferreras San Francisco de Macorís, Rep. Dom. Date: Mon, 25 Jan 2010 12:04:23 -0500 Subject: Re: [pgsql-es-ayuda] Actualizar campos que tienen dependencias Foreign Key From: [email protected] To: [email protected] CC: [email protected] No asume la condicion if (new.campo = false) then ni con new ni con OLD El 25 de enero de 2010 11:43, 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 09:54:31 -0500 Subject: Re: [pgsql-es-ayuda] Actualizar campos que tienen dependencias Foreign Key From: [email protected] To: [email protected] CC: [email protected] ejecute eso que les expongo abajo, pero no me actualiza la tabla grupos al parecer la segunda condicion IF(OLD.estado = false) THEN no esta asumiendola, mi pregunta es como hago para especificar que cuando en la tabla productos el campo estado de uno de ellos pase a false, en las otras tablas donde este relacionado ese producto tbm cambien el estado a false. Muchas gracias de antemano El 25 de enero de 2010 09:48, Juan Carlos Medina Ruiz <[email protected]> escribió: 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_productosFOR EACH ROWEXECUTE 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$ Prueba esto en tu trigger if (new.campo = false) then UPDATE facturacion.factura_articulo set elcampo = false WHERE elcodigo = new.codigo; end if; return new; Es bastante raro, ve a ver si esto t funciona: CREATE FUNCTION producto_eliminar_tri() RETURNS trigger AS $$ BEGIN IF(TG_OP = 'UPDATE') THEN IF(new.estado = false) THEN UPDATE jmb_grupos SET estado='false' where idproducto=new.idproducto; END IF; END IF; RETURN new; END; $$ Language 'plpgsql'; En caso de q no t funcione manda las tablas involucradas y los triggers q tengas hasta el momento para probar. _________________________________________________________________
RE: [pgsql-es-ayuda] Actualizar campos que tienen dependencias Foreign Key
José Fermín Francisco Ferreras Mon, 25 Jan 2010 09:26:51 -0800
- [pgsql-es-ayuda] Actualizar campos que ti... Juan Carlos Medina Ruiz
- RE: [pgsql-es-ayuda] Actualizar camp... José Fermín Francisco Ferreras
- Re: [pgsql-es-ayuda] Actualizar ... Juan Carlos Medina Ruiz
- Re: [pgsql-es-ayuda] Actuali... Juan Carlos Medina Ruiz
- RE: [pgsql-es-ayuda] Act... José Fermín Francisco Ferreras
- Re: [pgsql-es-ayuda... Juan Carlos Medina Ruiz
- RE: [pgsql-es-a... José Fermín Francisco Ferreras
- Re: [pgsql-... Juan Carlos Medina Ruiz
- RE: [pgsql-... José Fermín Francisco Ferreras
- Re: [pgsql-... Juan Carlos Medina Ruiz
- RE: [pgsql-... José Fermín Francisco Ferreras
- Re: [pgsql-... Juan Carlos Medina Ruiz
- RE: [pgsql-... José Fermín Francisco Ferreras
- Re: [pgsql-... Juan Carlos Medina Ruiz
- RE: [pgsql-... José Fermín Francisco Ferreras
- RE: [pgsql-... José Fermín Francisco Ferreras
