una tablas tabla serial relaciones primary primarias primaria multiples llave foranea crear creada compuesta claves clave autoincrement agregar postgresql primary-key create-table

tablas - CREAR TABLA COMO con CLAVE PRIMARIA en una declaración(PostgreSQL)



postgresql llave primaria compuesta (5)

De acuerdo con el manual: crea una tabla y crea una tabla, ya que puedes:

  • cree la tabla con la clave principal primero, y use seleccionar en más adelante
  • crear tabla como primera y usar agregar clave principal más tarde

Pero no tanto crear tabla como con clave principal : lo que quería.

¿Hay una manera de establecer la CLAVE PRIMARIA en una sola declaración "CREAR TABLA COMO"?

Ejemplo: me gustaría que se escribiera lo siguiente en 1 declaración en lugar de 2:

CREATE TABLE "new_table_name" AS SELECT a.uniquekey, a.some_value + b.some_value FROM "table_a" AS a, "table_b" AS b WHERE a.uniquekey=b.uniquekey; ALTER TABLE "new_table_name" ADD PRIMARY KEY (uniquekey);

¿Hay una mejor manera de hacerlo en general (suponga que hay más de 2 tablas, por ejemplo, 10)?


No, no hay una forma más corta de crear la tabla y la clave principal.


Puedes hacerlo de esta manera

CREATE TABLE IOT (EMPID,ID,Name, CONSTRAINT PK PRIMARY KEY( ID,EMPID)) ORGANIZATION INDEX NOLOGGING COMPRESS 1 PARALLEL 4 AS SELECT 1 as empid,2 id,''XYZ'' Name FROM dual;


Si desea crear una nueva tabla con la misma estructura de tabla de otra tabla, puede hacerlo en una declaración (creando una nueva tabla y configurando la clave principal) de la siguiente manera:

create table mytable_clone (like mytable including defaults including constraints including indexes);


bien en mysql, ambos son posibles en un comando

el comando es

create table new_tbl (PRIMARY KEY(`id`)) as select * from old_tbl;

donde id es la columna con la clave principal de old_tbl

hecho...