Re: Actualizar campos que tienen dependencias Foreign Key

From: Juan Carlos Medina Ruiz <jcmedinanix(at)gmail(dot)com>
To: José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Actualizar campos que tienen dependencias Foreign Key
Date: 2010-01-25 14:48:37
Message-ID: 4b1941651001250648u33dc00ifdd3bad650343a9d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <
josefermin54(at)hotmail(dot)com> 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: jcmedinanix(at)gmail(dot)com
> To: pgsql-es-ayuda(at)postgresql(dot)org
>
> >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$
>
>
>
>
>
> ------------------------------
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Carlos Medina Ruiz 2010-01-25 14:54:31 Re: Actualizar campos que tienen dependencias Foreign Key
Previous Message José Fermín Francisco Ferreras 2010-01-25 14:35:06 RE: Actualizar campos que tienen dependencias Foreign Key