Question

Je voudrais créer un tableau de l'ensemble de données généré par la fonction « table d'aide » de Teradata pour que je puisse ajouter un peu plus d'informations sur la table, et être capable de filtrer les lignes par des conditions. la table a des colonnes 400+, donc ce serait très pratique pour la gestion. Je voudrais pouvoir faire quelque chose de similaire à la création d'une table de sélection, mais il ne fonctionne pas avec la syntaxe de la table d'aide. à court d'exporter les données vers Excel, puis créer manuellement le schéma de la table et l'importation à l'arrière de table, personne ne sait comment convertir la sortie d'une requête de table d'aide dans une table teradata?

Était-ce utile?

La solution

La sortie de la commande TABLE HELP provient de dictionnaire de données.

Si je comprends bien, vous voulez créer une nouvelle table avec la sortie suivante.

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   ?

Vous pouvez obtenir tous ces trois colonnes (ou même plus) de la table DBC.TVFields.

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   ?

Mais d'abord nous devons savoir DatabaseID et 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

Maintenant, vous pouvez lister toutes les colonnes dont vous avez besoin et de les stocker en conséquence.

select * from dbc.tvfields
where databaseid='00000F04'xb
and tableid='0000D8070000'xb;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top