herencia de llaves ?

From: Julio César León Cuya <irrealidad(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: herencia de llaves ?
Date: 2005-03-15 02:57:12
Message-ID: 200503142157.12877.irrealidad@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos
Soy nuevo en la lista, y esta es mi primera experiencia con bases de datos.
Como usuario de software libre que soy, decidí intentarlo con postgresql, y
me gustó mucho. Sin embargo tengo problemas con un proyecto de manejo de
datos médicos, espero no aburrirlos porque va para largo:

Tengo cuatro tablas:
create table p ( id serial, datos text ); -- la "p" es de pacientes
create table hijo_d_p ( mas_datos text ); -- para pacientes de un proyecto
create table a ( id_at serial, id int4 references p(id) default
currval('p_id_seq'::text), otros_datos text ); -- "a" de atenciones
create table hija_d_a ( aun_mas_datos text ); -- atenciones exclusivas del
proyecto.

Y cuando quiero insertar datos:
begin;
insert into hijo_d_p ( 'paciente1', 'del proyecto');
insert into hija_d_a ( 'atencion1', 'del proyecto');
commit;

La transacción muere miserablemente diciendo:
begin
insert $ciertoOID 1
psql:./inserts.sql:2: ERROR: insert or update on table "hija_d_a" violates
foreign key constraint "$1"
DETAIL: Key (id)=(1) is not present in table "hijo_d_p".
commit

El detalle es que si elimino la herencia de la ecuación, las transacciones
funcionan sin quejas y puedo usar mi base de datos sin problemas....
¿Qué significa eso? ¿que mi secuencias definidas en mis tablas padre no son
vistas por mis tablas hijas? , o ¿estoy manejando mal la función currval()?.
Y es que me complica el trabajo tener que meter la información de los
pacientes comunes y corrientes con la información de los del proyecto en un
solo saco.
Espero haberme dejado entender. Gracias por su atención

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Stragnari 2005-03-15 12:47:59 RE: Instalacion
Previous Message Alvaro Herrera 2005-03-15 02:49:31 Re: ¿Postgres 7.3.4 pierde datos?