From: | Diego Gil <diego(at)adminsa(dot)com> |
---|---|
To: | Mario Soto <mario_soto(at)venezolanadeavaluos(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Problema con trigger |
Date: | 2004-06-01 16:26:48 |
Message-ID: | 1086107207.2235.10.camel@roadwarrior.adminsa.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
Deberías utilizar una "foreign key",
ALTER TABLE detmodel ADD CONSTRAINT detmodelo_fk1 FOREIGN KEY(co_modelo,
co_campo) REFERENCES modelo(co_modelo, co_campo) ON DELETE CASCADE;
Esto no solo hace que al eliminar un registro de modelo se eliminen los
registros vinculados de detmodelo sino que también garantiza la
integridad referencial, es decir que no se inserte ningun registro en
detmodelo que no tenga el correspondiente registro en modelo.
Espero que te sea útil.
Saludos,
Diego.
On mar, 2004-06-01 at 13:53, Mario Soto wrote:
> Hola lista, tengo un problema:
>
> tengo 2 tablas modelo y detmodelo:
>
> ambas tienen los campos co_modelo y co_campo;
>
> cuando borro un registro en la tabla modelo, tambien quiero que se
> borren los registros en la tabla detmodelo, para lom cual he crado un
> triger para la table modelo:
>
> CREATE TRIGGER "delete_desmodelo" BEFORE DELETE
> ON "public"."modelo" FOR EACH ROW
> EXECUTE PROCEDURE "public"."sp_delete_desmodelo"();
>
>
>
> y el procedure es:
>
>
>
> CREATE OR REPLACE FUNCTION "public"."sp_delete_desmodelo" () RETURNS
> trigger AS'
> begin
> /* New function body */
> delete from detmodelo
> where co_modelo = old.co_modelo and co_campo = old.co_campo;
>
> return null;
> end;
> 'LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;
>
>
> El problema es que no me elimina nada:
>
> Alguna idea.
>
> Gracias
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
Diego A. Gil
Director
Admin S.A.
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Soto | 2004-06-01 16:52:51 | |
Previous Message | Edwin Quijada | 2004-06-01 16:16:38 | Re: Migrar BD |