Skip site navigation (1) Skip section navigation (2)

Re: Problemas con primary key

From: Jaime Casanova <systemguards(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problemas con primary key
Date: 2004-12-06 06:34:10
Message-ID: 20041206063410.97759.qmail@web50009.mail.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
 --- "Cristofer Reyes A." <crreyes(at)inf(dot)utfsm(dot)cl>
escribió: 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hola!
> 
> Les cuento que tengo problemas con la creacion de
> una clave primaria compuesta; 
 
> - -psql:sql/create.sql:100: NOTICE:  CREATE TABLE /
> PRIMARY KEY will create 
> - -implicit index "etapas_paciente_pkey" for table
> "etapas_paciente"

El error no da al crear el primary key

> - -psql:sql/create.sql:100: ERROR:  there is no
> unique constraint matching given 
> - -keys for referenced table "etapa"

Este error es al crear un Foreign Key

> CREATE TABLE etapa(
.....
>         primary key(nombre_etapa,sala)
> );
> 
> CREATE TABLE etapas_paciente(
>         nombre_etapa    varchar(20) references
etapa(nombre_etapa) ON UPDATE 

Estas poniendo el reference a nivel de columna, el
problema es que debes hacer referencia a los dos
campos que forman el primary key de la tabla etapa,
algo asi:

> CREATE TABLE etapas_paciente(
>         nombre_etapa    varchar(20),
>         sala            varchar(20),
>         rut_paciente    varchar(10) references
paciente(rut) ON UPDATE CASCADE ON DELETE SET NULL,
>         hora            timestamp(0) without time
zone,
>         fecha           date,
>         rut_tecnologo   varchar(10) references
tecnologo(rut) ON UPDATE CASCADE ON DELETE SET NULL,
>         examen          varchar(50) references
descripcion_examen(nombre_examen) ON UPDATE CASCADE ON
DELETE SET NULL,
>         primary key (nombre_etapa, sala,
rut_paciente, fecha),

FOREIGN KEY (nombre_etapa, sala) REFERENCES etapa ON
UPDATE CASCADE ON DELETE SET NULL

> );
> 

Atentamente,
Jaime Casanova

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com

In response to

pgsql-es-ayuda by date

Next:From: Oscar Bogarin EvolutionDate: 2004-12-06 12:34:13
Subject: Re: Conexion PHP + Postgres + Windows
Previous:From: Cristofer Reyes A.Date: 2004-12-06 05:19:21
Subject: Re: Problemas con primary key

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group