Re: Problema con Foreign keys

From: "Mario A(dot) Soto Cordones" <mario_soto(at)venezolanadeavaluos(dot)com>
To: <psiciliano(at)puentenet(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema con Foreign keys
Date: 2005-04-01 21:24:58
Message-ID: 46810.200.35.66.77.1112390698.squirrel@mail.venezolanadeavaluos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

cual es el query que gatilla los inserts.... lo haces dentro de una
transaccion ????

> Hola a todos.
>
> Estoy teniendo un problema raro con dos tablas, que describo al final.
> El asunto es que cuando hago in insert en orden_pasaje, de dos id_orden
> que estoy seguro que estan en orden, recibo como respuesta:
>
> ERROR: insert or update on table "orden_pasaje" violates foreign key
> constraint "orden_pasaje_id_orden_origen_fkey"
> DETAIL: Key (id_orden_origen)=([id_orden_destino]) is not present in
> table "orden".
>
> ¿Estoy cometiendo algún error con el diseño de las tablas? No se si
> tendrá algo que ver (Sospecho que no), pero orden es heredada por varias
> tablas.
>
> Desde ya, mil gracias por cualquier ayuda.
> Pablo E. Siciliano.
>
>
> CREATE TABLE "orden" (
> "id_orden" bigint DEFAULT nextval('orden_seq') NOT NULL,
> "orden_cambio_estado" int DEFAULT 1 NOT NULL,
> "fecha_emision" timestamp DEFAULT now() NOT NULL,
> "id_estado" varchar(10) NOT NULL,
> "id_sociedad" varchar(10) NOT NULL,
> "id_cuenta" varchar(10) NOT NULL,
> "id_tipo_documento" varchar(10) NULL,
> "numero_documento" varchar(50) NULL,
> "id_manager" varchar(10) NULL,
> "comentario" varchar(255) NULL,
> "usuario" varchar(10) NULL,
> "pedido_cancelacion" boolean NOT NULL DEFAULT false,
> "cargada" boolean NOT NULL DEFAULT false,
> "creado_por" varchar(30) NOT NULL,
> "creado_el" timestamp NOT NULL,
> "modificado_por" varchar(30),
> "modificado_el" timestamp,
> CONSTRAINT "orden_estado_fkey" FOREIGN KEY ("id_estado") REFERENCES
> "estado"("id_estado"),
> CONSTRAINT "orden_usuario_cuenta_fkey" FOREIGN KEY ("id_sociedad",
> "id_cuenta", "id_tipo_documento", "numero_documento") REFERENCES
> "usuario_cuenta"("id_sociedad", "id_cuenta", "id_tipo_documento",
> "numero_documento"),
> CONSTRAINT "orden_manager_fkey" FOREIGN KEY ("id_manager") REFERENCES
> "manager"("id_manager"),
> CONSTRAINT "orden_pkey" PRIMARY KEY ("id_orden")
> );
> CREATE TABLE orden_pasaje
> (
> id_orden_origen bigserial references orden(id_orden),
> id_orden_destino bigserial references orden(id_orden),
> creado_por varchar(30) NOT NULL,
> creado_el timestamp NOT NULL,
> modificado_por varchar(30),
> modificado_el timestamp,
> CONSTRAINT orden_pasaje_pkey PRIMARY KEY (id_orden_origen),
> UNIQUE (id_orden_destino),
> CHECK (id_orden_origen<>id_orden_destino)
> );
>
>
>
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
> (envíe "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-04-01 21:28:29 Re: restore en Windows 2000
Previous Message Juan Pablo Espino 2005-04-01 21:19:44 restore en Windows 2000