[Pgsql-ayuda] Curiosidad acerca de claves ajenas (foreign keys)

Carlos_Querol_Saez/099/SPAIN/Carrefour%CARREFOUR-ES%CARREFOUR Carlos_Querol_Saez/099/SPAIN/Carrefour%CARREFOUR-ES%CARREFOUR@carrefour.com
Tue, 15 Jul 2003 16:46:47 +0200


Hola a tod@s,

      A ver si podeis resolverme una duda que me ha surgido. Cuando cre=
o
dos tablas, y quiero que una de ellas tenga una clave ajena que haga
referencia a la otra, hago lo siguiente:

      create table TablaA (
            campo1 int4 not null,
            campo2 varchar(50),
            primary key (campo1)
      );

      create table TablaB (
            campo1 int4 not null references TablaA,
            campo2 int4 not null
      );


      Hasta aqu=ED bien. Pero cuando hago un pg_dump de la base de dato=
s, se
ha creado un trigger para asegurar la integridad referencial. La duda q=
ue
tengo =E9s porque el trigger se declara como:

      CONSTRAINT "<unnamed>" FOREIGN KEY (campo1) REFERENCES TablaA
(campo1) ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE INITIAL=
LY
IMMEDIATE

      y adem=E1s, lo bautiza como "<unnamed>".


Gracias y un saludo.


Carlos Querol Saez

carquesa@eui.upv.es
Carlos.Querol.Saez@carrefour.com

=