Domanda

Mi piacerebbe creare un tavolo fuori dal set di dati generato dalla funzione "help tabella" di Teradata così posso aggiungere qualche informazione in più sulla tabella, ed essere in grado di filtrare le righe dalle condizioni. la tabella contiene oltre 400 colonne, quindi questo sarebbe molto conveniente per l'amministrazione. Mi piacerebbe essere in grado di fare qualcosa di simile alla creazione di una tabella come selezionare, ma non funziona con la sintassi aiuto tavolo. breve di esportare i dati in Excel, quindi manualmente creando lo schema della tabella e importare la schiena tavolo, qualcuno sa come convertire l'output di una query aiuto tavolo in una tabella in Teradata?

È stato utile?

Soluzione

L'output del comando HELP TABLE viene dal Data Dictionary.

Se ho capito bene, si vuole creare una nuova tabella con la seguente uscita.

help table t1;

 *** Help information returned. 4 rows.
 *** Total elapsed time was 1 second.

Column Name                    Type Comment
------------------------------ ---- --------
a1                             I    ?
b1                             CF   ?
c1                             D    ?
d1                             DA   ?

È possibile ottenere tutte quelle tre colonne (o anche più) dalle DBC.TVFields tabella.

help table dbc.tvfields;

help table dbc.tvfields;

 *** Help information returned. 37 rows.
 *** Total elapsed time was 1 second.

Column Name                    Type Comment
------------------------------ ---- ----------------
TableId                        BF   ?
FieldName                      CV   ?
FieldId                        I2   ?
Nullable                       CF   ?
FieldType                      CF   ?
MaxLength                      I    ?
DefaultValue                   CV   ?
DefaultValueI                  BV   ?
TotalDigits                    I2   ?
ImpliedPoint                   I2   ?
FieldFormat                    CV   ?
FieldTitle                     CV   ?
CommentString                  CV   ?
CollationFlag                  CF   ?
UpperCaseFlag                  CF   ?
DatabaseId                     BF   ?
Compressible                   CF   ?
CompressValueList              CV   ?
FieldStatistics                BV   ?
ColumnCheck                    CV   ?
CheckCount                     I2   ?
CreateUID                      BF   ?
CreateTimeStamp                TS   ?
LastAlterUID                   BF   ?
LastAlterTimeStamp             TS   ?
LastAccessTimeStamp            TS   ?
AccessCount                    I    ?
SPParameterType                CF   ?
CharType                       I2   ?
LobSequenceNo                  I2   ?
IdColType                      CF   ?
UDTypeId                       BF   ?
UDTName                        CV   ?
TimeDimension                  CF   ?
VTCheckType                    CF   ?
TTCheckType                    CF   ?
ConstraintId                   BF   ?

Ma prima dobbiamo scoprire DatabaseID e TableID.

select databaseid
from dbc.dbase
where databasename='db1';

 *** Query completed. One row found. One column returned.
 *** Total elapsed time was 1 second.

DatabaseId
----------
00000F04
select TVMId
from dbc.tables2
where databaseid='00000F04'xb
and TVMName='t1';

 *** Query completed. One row found. One column returned.
 *** Total elapsed time was 1 second.

TVMId
------------
0000D8070000

Ora è possibile elencare tutte le colonne è necessario e memorizzarli corrispondentemente.

select * from dbc.tvfields
where databaseid='00000F04'xb
and tableid='0000D8070000'xb;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top