Re: Ayuda herencia2

From: "irlan" <irlan(dot)grangel(at)facinf(dot)uho(dot)edu(dot)cu>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "lista_postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda herencia2
Date: 2006-03-31 20:40:09
Message-ID: 003a01c65503$4d509f70$46021a0a@estudiante
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si claro disculpen
realmente la raiz del problema es que no me deja crear un foreing key .
pues estas tablas todas tienen relacion con estudiante que ademas es padre
de estudiante nacional y estudiante extranjero

Aqui van las tablas
CREATE TABLE evaluacion_final
(
id serial NOT NULL,
id_estudiante int4 NOT NULL,
id_asignatura int4 NOT NULL,
id_plan int4 NOT NULL,
nota_final int4 NOT NULL,
CONSTRAINT evaluacion_final_pkey PRIMARY KEY (id),
CONSTRAINT evaluacion_final_fk1 FOREIGN KEY (id_asignatura) REFERENCES
fn_asignatura (id) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT evaluacion_final_fk2 FOREIGN KEY (id_plan) REFERENCES plan (id)
ON UPDATE CASCADE ON DELETE CASCADE
)
WITH OIDS;
ALTER TABLE evaluacion_final OWNER TO postgres;

Aqui no me permite crear el foreign key me dice esto
Warning: pg_query() [function.pg-query]: Query failed: ERROR: insert or
update on table "evaluacion_final" violates foreign key constraint "e"
DETAIL: Key (id_estudiante)=(2292) is not present in table "estudiante".
Lo mismo me da con las demas.
CREATE TABLE extraordinario
(
id int4 NOT NULL DEFAULT nextval('public.evaluacion_final_id_seq'::text),
id_estudiante int4 NOT NULL,
id_asignatura int4 NOT NULL,
id_plan int4 NOT NULL,
nota_final int4 NOT NULL,
nota_extraordinario int4 NOT NULL
) INHERITS (evaluacion_final)
WITH OIDS;
ALTER TABLE extraordinario OWNER TO postgres;

CREATE TABLE convocatoria_especial
(
id int4 NOT NULL DEFAULT nextval('public.evaluacion_final_id_seq'::text),
id_estudiante int4 NOT NULL,
id_asignatura int4 NOT NULL,
id_plan int4 NOT NULL,
nota_final int4 NOT NULL,
nota_extraordinario int4 NOT NULL,
nota int4 NOT NULL
) INHERITS (extraordinario)
WITH OIDS;
ALTER TABLE convocatoria_especial OWNER TO postgres;

Ademas me da este error .
Warning: pg_query() [function.pg-query]: Query failed: ERROR: null value in
column "nota_final" violates not-null constraint
Yo estuve leyendo la documentacion de postgres y dice que hay que tener
cuidado a la hora de usar la herencia y las constraints pero aqui no veo
porque..
Cualquier link o ayuda se los agradeceria ...
Irlan

----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
To: "irlan" <irlan(dot)grangel(at)facinf(dot)uho(dot)edu(dot)cu>
Cc: "lista_postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Friday, March 31, 2006 5:58 AM
Subject: Re: [pgsql-es-ayuda] Ayuda herencia2

> irlan escribió:
>> Saludos soy nuevo en la lista y necesito una ayuda en un problema que de
>> seguro tengo errores conceptuales , aqui va.
>> Tengo 3 tablas
>> evaluacion_final
>> extraordinario hereda de evaluacion_final
>> convocatoria_especial hereda de extraordinario
>> El problema es que cuando inserto en una tabla hija me borra los campos
>> de la tabla padre.
>
> Borra los campos? No entiendo. Veamos un ejemplo (i.e. cut&paste de
> una sesion psql demostrando el problema).
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 8: explain analyze es tu amigo
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Grover Navia 2006-03-31 20:52:57 Dar formato literal a las fecha
Previous Message deepthroat 2006-03-31 20:18:21 restaurar vista