[pgsql-ayuda] Herencia de clases y foreign keys

J. J. Merelo jmerelo@geneura.ugr.es
Thu, 03 Aug 2000 12:31:36 +0200


Hola,
    Esto que os cuento no funciona...

create table base (
    id int primary key
)

create table derivada1 (
    str1 text
) inherits (base);

create table derivada2 (
    foo int
) inherits (base);

create table otra (
    id int,
    constraint fk foreign key (id) references base (id)
)

template1=# insert into derivada1 values (1, 'pepe');
INSERT 24093 1
template1=# insert into otra values (1);
ERROR:  fk referential integrity violation - key referenced from otra
not found in basetemplate1=# insert into base values (2,'juan');
ERROR:  INSERT has more expressions than target columns
template1=# insert into base values (2);
INSERT 24095 1
template1=# insert into otra values (2);
INSERT 24096 1

O sea, que cuando haces una foreign key en una jerarquía de clases, sólo
afecta a la base, no a las derivada. O sea, que la "orientación a
objetos" en PosgresSQL sólo sirve para la definición de tablas, no para
nada más. Mi pregunta es, habría alguna forma de hacer una foreign key
que afectara a toda una jerarquía de clases?

Gracias!

J

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda