From: | "Mario A(dot) Soto Cordones" <mario_soto(at)venezolanadeavaluos(dot)com> |
---|---|
To: | <jyanez(at)sigma(dot)gov(dot)bo> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Duda sobre constraints |
Date: | 2005-04-07 17:30:24 |
Message-ID: | 55537.200.35.66.77.1112895024.squirrel@mail.venezolanadeavaluos.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> Hola a todos, tengo la siguiente duda al ejecutar esta sentencia:
Hola
>
> CREATE TABLE tipos_auxiliares(
> tipo_auxiliar int4 NOT NULL,
> ...
> CONSTRAINT tipos_auxiliares PRIMARY KEY ( tipo_auxiliar)
> )
> WITHOUT OIDS;
>
> Visualizo el siguiente mensaje:
>
> NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
> "tipos_auxiliares" for table "tipos_auxiliares"
> ERROR: relation "tipos_auxiliares" already exists
>
> Lo que entiendo es que va crear el indice que controla la llave primaria
> y que le asignara el nombre que se indico para el constraint
> (tipos_auxiliares), lo que no me queda claro es por que me dice que ya
> existe una relacion llamada tipos_auxiliares.
>
Estas en lo correcto pero debes usar un nombre diferente para crear el
constraint.
> Ahora bien, cuando ejecuto:
>
> CREATE TABLE tipos_auxiliares(
> tipo_auxiliar int4 NOT NULL,
> ...
> CONSTRAINT pk_tipos_auxiliares PRIMARY KEY ( tipo_auxiliar)
> )
> WITHOUT OIDS;
>
> Todo funciona perfectamente bien.
>
> Significa que los nombres de constraints deben ser distintos a los
> nombres de las tablas ?
SI ESO ES CORRECTO
o quiza que no puede haber un indice que tenga
> el mismo nombre de la tabla de la cual controla el Primary Key ?
>
No pueden haber objetos con nombres duplicados.
> --
> Juan Pablo Yañez
> Grupo DBA
From | Date | Subject | |
---|---|---|---|
Next Message | Juan P. Aviles | 2005-04-07 17:44:35 | Re: Row level lock in plpgsql |
Previous Message | Manuel Sugawara | 2005-04-07 17:22:08 | Re: Duda sobre constraints |