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-04 19:08:14
Message-ID: 33819.200.35.66.77.1112641694.squirrel@mail.venezolanadeavaluos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tambien deberia funcionar si hubieses usado una transaccion para los
inserts... de hecho asi lo hago con las tablas que tienen FK y hasta el
dia de hoy funciona.

Saludos

> Al final, encontré la forma de hacerlo. Para que funcione, dividí la
> tabla de relaciones en varias, una por tabla hija. De esa manera la
> foreign key funciona perfecto.
>
> Saludos!
> Pablo E. Siciliano.
>
> ----- Original Message -----
> From: "Alvaro Herrera" <alvherre(at)dcc(dot)uchile(dot)cl>
> To: "Pablo E. Siciliano" <psiciliano(at)puentenet(dot)com>
> Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
> Sent: Friday, April 01, 2005 6:04 PM
> Subject: Re: [pgsql-es-ayuda] Problema con Foreign keys
>
>
> On Fri, Apr 01, 2005 at 05:44:00PM -0300, Pablo E. Siciliano wrote:
>> 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.
>
> Las llaves foraneas no funcionan bien con herencia; los registros que
> estan en tablas "heredadas" no son visibles desde la tabla con la llave
> foranea.
>
> Una solucion es no usar herencia. Otra es mantener las llaves aparte,
> en una tabla auxiliar, que agrupe todo lo que viene de la jerarquia de
> herencia, y hacer que las llaves foraneas apunten alli. Para mi gusto
> la 1era solucion es mas limpia.
>
> --
> Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
> "Aprender sin pensar es inútil; pensar sin aprender, peligroso"
> (Confucio)
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.8.6 - Release Date: 2005-03-30
>
>
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/files/documentation/faqs/FAQ.html

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Pablo Espino 2005-04-04 19:13:22 Re: Desuscribirme
Previous Message Mario A. Soto Cordones 2005-04-04 19:04:16 Re: Crear y usar funciones