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.
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 |