Foreing key

From: "Miguel" <mvillagomez(at)sayab(dot)com(dot)mx>
To: "Postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Cc: "Postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Foreing key
Date: 2006-08-14 21:17:05
Message-ID: 20060814211611.104709FB1B9@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ahora si tengo dudas :), bueno; mi pregunta es si se puede hacer una tabla
que tenga una llave foranea a varias tablas:

Ejemplo:

CREATE TABLE proyecto(id_proyecto SERIAL, edo_origen varchar NOT NULL,
fecha_inicio date NOT NULL, fecha_termino date NOT NULL, nombre varchar NOT
NULL, no_contrato varchar NOT NULL, costo_hrs float NOT NULL, PRIMARY
KEY(id_proyecto, nombre));

CREATE TABLE gastos_proyecto(id_gasto SERIAL, id_proyecto integer references
proyecto(id_proyecto), tipo varchar references catalogo(id_catalogo), fecha
date NOT NULL, monto float NOT NULL);

CREATE TABLE gastos_empleado(id_gasto SERIAL, no_poliza integer NOT NULL,
id_empleado integer references empleado(id_empleados) NOT NULL, fecha date
NOT NULL, monto float NOT NULL, id_proyecto integer references
proyecto(id_proyecto), PRIMARY KEY(no_poliza));

Por que si trato de hacer esto postgres me arroja un error en la creación de
la tabla gastos_empleado, que es este:

ERROR: there is no unique constraint matching given keys for referenced
table "proyecto".

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2006-08-14 21:24:53 Re: Foreing key
Previous Message Alvaro Herrera 2006-08-14 21:02:07 Re: Check