TABELLA INTO

Utilizzare la clausola INTO TABLE per specificare i nomi per gli oggetti di destinazione quando sono diversi dai nomi di origine. Il suo ambito è su una tabella, quella interessata dall'istruzione SELECT associata. Gli oggetti ridenominati possono essere la tabella stessa, le relative colonne o i tablespace associati.

Questa clausola può essere specificata in un blocco SELECT.
Figura 1. Clausola 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 )
TABELLA INTO
Sintassi
INTO TABLE ( tgt_tb | tgt_qual.tgt_tb [ WITH COLUMNS ( src_col : tgt_col | dft_colfamily [, src_col : tgt_col : colfamily]) ] [ IN ( nometsl ) ])
Variabile
tgt_tb Nome della tabella di destinazione
tgt_qual.tgt_tb Nomi del qualificativo di destinazione e della tabella di destinazione
src_col Nome della colonna di origine
tgt_col Nome della colonna di destinazione
tsname Nome tablespace
src_col Nome della colonna di origine
tgt_col Nome della colonna di destinazione
dft_colfamily Nome della famiglia di colonne predefinita
colfamily Nome della famiglia di colonne associata alla colonna di destinazione
Predefinito
Nessuno.
Esempio
NELLA TABELLA ( NEW_USER.NEW_EMPLOYEE )
CON COLONNE
Il suo contenuto dipende dall'ambiente di destinazione considerato.
  • Se la destinazione considerata è una Db2® , specificare un elenco di coppie di nomi colonna per correlare le colonne della tabella di origine associata alle colonne della relativa tabella di destinazione. Per una determinata colonna di origine, il nome della colonna di destinazione associata verrà utilizzato internamente per una migrazione di dati oppure verrà preso in considerazione quando si genera un comando Db2 Load corrispondente e / o un'istruzione CREATE TABLE.
  • Se la destinazione considerata è HBase, specificare una famiglia di colonne predefinita, facoltativamente seguita da un elenco di associazioni composte da un nome colonna della tabella di origine, un nome colonna della tabella di destinazione e la relativa famiglia di colonne associata nella tabella di destinazione. I nomi delle colonne e le famiglie di colonne specificate verranno presi in considerazione internamente per una migrazione automatica dei dati oppure verranno presi in considerazione quando si genera un comando di caricamento per questa destinazione.
Se l'istruzione SELECT associata contiene specifiche di colonne esplicite, i nomi delle colonne di origine specificati in questa clausola devono essere tra quelli indicati nell'istruzione SELECT. Se l'istruzione SELECT associata è 'SELECT * ', i nomi delle colonne di origine specificati in questa clausola devono esistere nella tabella di origine.
Se è necessario generare un comando di caricamento per una destinazione HBase, è obbligatorio che le informazioni sull'ambiente di destinazione vengano raccolte tramite la specifica di una clausola INTO TABLE. In tal caso, è obbligatorio specificare anche la relativa opzione WITH COLUMNS, con un elenco appropriato che mette in relazione le colonne della tabella di origine con le colonne della tabella di destinazione e le relative famiglie.
IN
Specificare un elenco di nomi tablespace. Questo elenco di tablespace viene utilizzato quando si genera un'istruzione CREATE TABLE.
Nota: se una clausola DDLOPT viene specificata nel file di controllo con l'opzione IN e se viene specificata anche una clausola INTO TABLE con l'opzione IN, l'opzione IN della clausola DDLOPT verrà ignorata (verrà utilizzata l'opzione IN della clausola INTO TABLE).

Esempio: nomi di destinazione specificati direttamente nel file di controllo

Risultato di Optim™ High Performance Unload esecuzione:

[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

Contenuto del file generato con il comando Db2 Load:

[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");

Contenuto del file generato con il comando 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"" ;

In grassetto sono i nomi di destinazione modificati specificati tramite il file indicato nella clausola INTO TABLE del file di controllo.