suggestions para generador escribe ejemplos como copy db2 aix

copy - para - Crear una copia de una tabla dentro de la misma base de datos DB2



hashtag ranking (5)

Dos pasos funcionan bien:

cree la tabla bu_x como (seleccione a, b, c, d desde x) SIN datos;

inserte en bu_x (a, b, c, d) seleccione seleccione a, b, c, d de x;

¿Existe una manera fácil de copiar una tabla a la misma base de datos, por supuesto, con un nombre diferente? Probé algunos de estos enumerados a continuación,

db2 "CREATE TABLE SCHEMA.NEW_TB COPY AS SELECT * FROM SCHEMA.OLD_TB WHERE 1 = 2"

db2 "SELECT INTO SCHEMA.NEW_TB FROM SCHEMA.OLD_TB"

db2 "SELECT * FROM SCHEMA.OLD_TB INSERT INTO SCHEMA.NEW_TB"

Ninguno de estos funcionó. Estoy usando db2 v9.5.


Podemos copiar todas las columnas de una tabla a otra, tabla existente:

Insertar en la tabla 2 SELECCIONA * DE la tabla 1;

O podemos copiar solo las columnas que queremos en otra tabla existente:

INSERT INTO table2 (column_name (s)) SELECT column_name (s) FROM table1;

o SELECCIONE * EN BACKUP_TABLE1 DESDE LA TABLA1


Prueba esto:

CREATE TABLE SCHEMA.NEW_TB LIKE SCHEMA.OLD_TB; INSERT INTO SCHEMA.NEW_TB (SELECT * FROM SCHEMA.OLD_TB);

Las opciones que no se copian incluyen:

  • Comprobar restricciones
  • Valores por defecto de la columna
  • Columna de comentarios
  • Llaves extranjeras
  • Opción registrada y compacta en columnas BLOB
  • Tipos distintos

Tienes que rodear la parte seleccionada con paréntesis.

CREATE TABLE SCHEMA.NEW_TB AS ( SELECT * FROM SCHEMA.OLD_TB ) WITH NO DATA

Deberia trabajar. Presta atención a todas las cosas que @Gilbert dijo que no se copiarían.

Estoy asumiendo DB2 en Linux / Unix / Windows aquí, ya que dices DB2 v9.5.


CREATE TABLE NEW_TABLENAME LIKE OLD_TABLENAME;

Trabaja para DB2 V 9.7