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