Re: Foreing key

From: Leonel Nunez <lnunez(at)enelserver(dot)com>
To: Miguel <mvillagomez(at)sayab(dot)com(dot)mx>
Cc: Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Foreing key
Date: 2006-08-14 21:56:08
Message-ID: 44E0F178.4020501@enelserver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Miguel wrote:
>
>
>
> 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".
>

en la tabla proyecto
define el id_proyecto como SERIAL UNIQUE con esto creara los
indices respectivos sin problemas

leonel

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message hernando bocanegra grajales 2006-08-14 22:22:21 Configuracion phpPgAdmin para windows.
Previous Message Jaime Casanova 2006-08-14 21:24:53 Re: Foreing key