INTO TABLE

Utilice la cláusula INTO TABLE para especificar nombres para los objetos de destino cuando son distintos de los nombres de los de origen. Su ámbito está en una tabla, la que es cuestión de la sentencia SELECT asociada. Los objetos renombrados pueden ser la propia tabla, sus columnas, o sus espacios de tablas asociados.

Esta cláusula puede especificarse en un bloque SELECT.
Figura 1. Cláusula INTO TABLE

1  INTO TABLE (
2.1 tgt_tb
2.1 tgt_qual.tgt_tb
2.1?  WITH COLUMNS (
2.2.1 + ' src_col:tgt_col
2.2.1  dft_colfamily?  , + , src_col:tgt_col:colfamily
2.1 )
1 ?  IN (
2.1+ ,
2.1 tsname
1 )
1 )
INTO TABLE
Sintaxis
INTO TABLE ( tgt_tb | tgt_qual.tgt_tb [WITH COLUMNS ( src_col : tgt_col | dft_colfamily [, src_col : tgt_col : colfamily]) ] [IN ( nombre_tsp ) )
Variable
tgt_tb Nombre de la tabla de destino
tgt_qual.tgt_tb Nombres del calificador de destino y de la tabla de destino
src_col Nombre de la columna de origen
tgt_col Nombre de la columna de destino
nombre_ts Nombre del espacio de tabla
src_col Nombre de la columna de origen
tgt_col Nombre de la columna de destino
dft_colfamily Nombre de la familia de columnas predeterminadas
colfamily Nombre de la familia de columnas asociada a la columna de destino
Valor predeterminado
Ninguna.
Ejemplo
INTO TABLE (NEW_USER.NEW_EMPLOYEE)
WITH COLUMNS
Su contenido depende del entorno de destino en cuestión.
  • Si el destino considerado es uno de Db2® , especifique una lista de pares de nombres de columna para relacionar las columnas de la tabla de origen asociada con las columnas de su tabla de destino. Para una columna de origen determinada, el nombre de la columna de destino asociada se utilizará internamente para una migración de datos, o se tendrá en cuenta al generar un mandato Load de DB2 correspondiente y/o una sentencia CREATE TABLE.
  • Si el destino en cuestión es de HBase, especifique una familia de columnas predeterminada, opcionalmente seguida por una lista de asociaciones formadas por un nombre de columna de la tabla de origen, un nombre de columna de la tabla de destino y la familia de columnas asociada en la tabla de destino. Los nombres y las familias de las columnas especificados se tendrán en cuenta internamente para efectuar una migración de datos automática, o bien se tendrán en cuenta a la hora de generar un mandato de carga para este destino.
Si la sentencia SELECT asociada contiene especificaciones de columnas explícitas, los nombres de columnas de origen especificados en esta cláusula deben encontrarse entre los que se menciona en la sentencia SELECT. Si la sentencia SELECT asociada es un 'SELECT *', los nombres de la columna de origen especificados en esta cláusula deben existir en la tabla de origen.
Si se debe generar un mandato de carga para un destino de HBase, es obligatorio que la información del entorno de destino se recopile mediante la especificación de una cláusula INTO TABLE. En tal caso, también es obligatorio especificar en ella la opción WITH COLUMNS con una lista adecuada en la que se relacionen las columnas de la tabla de origen con las columnas de la tabla de destino y sus familias.
ENTRADA
Especifique una lista de nombres de espacio de tabla. Esta lista de espacios de tabla se utiliza al generar una sentencia CREATE TABLE.
Nota: Si se especifica una cláusula DDLOPT en el archivo de control con la opción IN y si también se especifica una cláusula INTO TABLE con la opción IN, se ignorará la opción IN de la cláusula DDLOPT (se utilizará la opción IN de la cláusula INTO TABLE).

Ejemplo: Nombres de destino especificados directamente en el archivo de control

Resultado de la Optim™ High Performance Unload ejecución:

[i1010@lat179(hm510_mnt:) ~]$ db2hpu -i i1010 -f sysin_example_doc 
INZM031I Optim High Performance Unload for Db2 06.01.00.001(130628) 
         64 bits 07/02/2013 (Linux lat179 x86_64)
INZI473I Memory limitations: 'unlimited' for virtual memory and 'unlimited' for data segment
       ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----
000001 GLOBAL CONNECT TO SAMPLE;
000002 UNLOAD TABLESPACE USERSPACE1
000003 DB2 NO LOCK NO FLUSH BUFFERPOOLS NO
000004 
000005 SELECT * FROM EMPLOYEE;
000006 
000007 INTO TABLE (USER.EMPLOYEE_NEW 
000008             WITH COLUMNS (BIRTHDATE:BIRTHDAY_DATE) 
000009             IN (TSNAME1, TSNAME2))
000010 
000011 LOADFILE("loadfile")
000012 DDLFILE("ddlfile")
000013 OUTFILE("outfile")
000014 
000015 FORMAT DEL;

INZU462I HPU control step start: 14:13:40.580.
INZU463I HPU control step end  : 14:13:40.679.
INZU464I HPU run step start    : 14:13:40.680.
INZU410I HPU utility has unloaded 42 rows on lat179 host for I1010.EMPLOYEE in outfile.
INZU622I HPU utility has generated the DDL file ddlfile.
INZU442I HPU utility has generated the LOAD file loadfile (LRECL=0).
INZU465I HPU run step end      : 14:13:40.760.
INZI441I HPU successfully ended: Real time -> 0m0.180245s
User time -> 0m0.024996s : Parent -> 0m0.024996s, Children -> 0m0.000000s
Syst time -> 0m0.014997s : Parent -> 0m0.014997s, Children -> 0m0.000000s

Contenido del archivo generado con el mandato Load de DB2:

[i1010@lat179(hm510_mnt:) ~]$ cat loadfile
LOAD FROM "outfile" OF DEL
MODIFIED BY CODEPAGE=1208
INSERT INTO "USER"."EMPLOYEE_NEW" ("EMPNO",
                                   "FIRSTNME",
                                   "MIDINIT",
                                   "LASTNAME",
                                   "WORKDEPT",
                                   "PHONENO",
                                   "HIREDATE",
                                   "JOB",
                                   "EDLEVEL",
                                   "SEX",
                                   "BIRTHDAY_DATE",
                                   "SALARY",
                                   "BONUS",
                                   "COMM");

Contenido del archivo generado con el mandato DDL:

[i1010@lat179(hm510_mnt:) ~]$ cat ddlfile
CREATE TABLE "USER"."EMPLOYEE_NEW"  (
                "EMPNO" CHAR(6 OCTETS) NOT NULL , 
                "FIRSTNME" VARCHAR(12 OCTETS) NOT NULL , 
                "MIDINIT" CHAR(1 OCTETS) , 
                "LASTNAME" VARCHAR(15 OCTETS) NOT NULL , 
                "WORKDEPT" CHAR(3 OCTETS) , 
                "PHONENO" CHAR(4 OCTETS) , 
                "HIREDATE" DATE , 
                "JOB" CHAR(8 OCTETS) , 
                "EDLEVEL" SMALLINT NOT NULL , 
                "SEX" CHAR(1 OCTETS) , 
                "BIRTHDAY_DATE" DATE , 
                "SALARY" DECIMAL(9,2) , 
                "BONUS" DECIMAL(9,2) , 
                "COMM" DECIMAL(9,2) )
            IN TSNAME1", "TSNAME2"" ;

En negrita se encuentran los nombres de destino modificados especificados a través del archivo mencionado en la cláusula INTO TABLE del archivo de control.