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