Re: error al crear FK

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Gauto Miguel A(dot)" <mgauto(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: error al crear FK
Date: 2006-10-18 14:17:57
Message-ID: 20061018141756.GR31297@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gauto Miguel A. escribió:
> Te pase las definiciones de las tablas porque no logro
> entender por qué no me permitía hacer esto:
>
> CONSTRAINT fk_pagosdet_cuotas FOREIGN KEY
> (cod_empresa, cod_sucursal, fact_tipo_cbte,
> fact_numero, numero_cuota)
> REFERENCES cuotas (cod_empresa, cod_sucursal,
> cod_tipo_cbte, numero_cbte, numero_cuota)
>
> Sin hacer esto:
> ALTER TABLE cuotas
> ADD CONSTRAINT cuotas_cod_empresa_key
> UNIQUE(cod_empresa, cod_sucursal, cod_tipo_cbte,
> numero_cbte, numero_cuota);
>
> Teniendo solamente:
> ALTER TABLE cuotas
> ADD CONSTRAINT pk_cuotas PRIMARY KEY(cod_empresa,
> cod_tipo_cbte, numero_cbte, numero_cuota);

Y ya te explique el motivo, que es que la llave primaria no define una
restriccion de unicidad apropiada para la llave foranea. Por eso es que
debes crear la otra restriccion de unicidad.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-10-18 14:19:43 Re: Catálogo PostgreSQL - Lista de Oids para atttypid
Previous Message Pedro Mateo 2006-10-18 14:17:17 pregunta sobre psql