Skip site navigation (1) Skip section navigation (2)

Re:

From: "Mario Soto" <mario_soto(at)venezolanadeavaluos(dot)com>
To: <balvarado(at)mbakercorp(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re:
Date: 2004-06-01 22:59:24
Message-ID: 47886.200.35.66.77.1086130764.squirrel@mail.venezolanadeavaluos.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola

esta es la definicion de mi tabla:

CREATE TABLE "public"."detmodelo" (
  "co_modelo" INTEGER NOT NULL,
  "co_campo" INTEGER NOT NULL,
  "nu_activo_fijo" VARCHAR NOT NULL,
  "va_campo" VARCHAR(255),
  "sq_serialcolumn" SERIAL,
  "id_usuario" VARCHAR(15) NOT NULL,
  CONSTRAINT "detmodelo_pkey" PRIMARY KEY("co_modelo", "co_campo",
"nu_activo_fijo"),
  CONSTRAINT "detmodelo_sq_serialcolumn_key" UNIQUE("sq_serialcolumn"),
  CONSTRAINT "detmodelo_fk_modelo" FOREIGN KEY ("co_modelo", "co_campo")
    REFERENCES "public"."modelo"("co_modelo", "co_campo")
    ON DELETE CASCADE
    ON UPDATE NO ACTION
    NOT DEFERRABLE
) WITH OIDS;

Pero el borrar un campo en la tabla modelo, solo lo borra en detmodelo y
no en la tabla modelo????????

No entiendo



> Por que no usas,
>
> Si solo quieres que borre
> REFERENCES MODELO ON DELETE CASCADE
>
> Si quieres que te actualice
> REFERENCES MODELO ON DELETE CASCADE ON UPDATE CASACADE
>
> en la definicion del campo  co_modelo de tu tabla detmodelo, con esto,
> cuando borres
> o actualices algun dato en la tabla modelo se borraran todos los
> resgistros de tu tabla
> detmodelo, que coincidan con el campo borrado en la tabla modelo.
>
> Espero te sirva
>
>>>> "Mario Soto" <mario_soto(at)venezolanadeavaluos(dot)com> 01/06/2004
> 11:52:51 am >>>
> 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 1: para suscribirte y desuscribirte, escribe a
> majordomo(at)postgresql(dot)org
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
>                http://www.postgresql.org/docs/faqs/FAQ.html




In response to

  • Re: at 2004-06-01 17:34:59 from Benjamin Alvarado

pgsql-es-ayuda by date

Next:From: Mario SotoDate: 2004-06-01 23:03:00
Subject: Re: Problema con trigger
Previous:From: Alvaro HerreraDate: 2004-06-01 22:32:22
Subject: Re: Cambiar formato de entrada de las fechas

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group