Re: herencia de llaves ?

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Julio César León Cuya <irrealidad(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: herencia de llaves ?
Date: 2005-03-15 16:13:49
Message-ID: 20050315161349.GA29671@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Mar 14, 2005 at 09:57:12PM -0500, Julio César León Cuya wrote:

Hola,

> Soy nuevo en la lista, y esta es mi primera experiencia con bases de datos.

Bienvenido. Espero que Postgres no te defraude.

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

Tu ejemplo esta incompleto; estas ultimas dos sentencias generan un
error de sintaxis. Y ciertamente falta algo.

> El detalle es que si elimino la herencia de la ecuación,

Cual herencia? En tus declaraciones no hay ninguna. En cualquier caso,
la herencia de tablas tiene problemas; no la uses.

No pongas ese currval() en el DEFAULT de una columna. Te va a causar
errores dificiles de detectar. Mejor, haz que la aplicacion obtenga el
currval() cuando ingrese un paciente y lo use al ingresar la atencion.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Geiner Gamboa 2005-03-15 17:00:30 RE: Instalacion
Previous Message Oswaldo Hernández 2005-03-15 15:51:15 Re: Transaccion ID