Obtenir le type de colonne à l'aide de teradata tables système
Je veux obtenir réel de la colonne type de teradata système de tables comme dbc.les colonnes.
Ce tableau, la colonne columntype mais il ne donne pas le type de données réel.
Je peux obtenir une sortie avec
select type(columnname) from table
output: varchar2(20)
mais il ya plus de 1000 tables et 50000 colonnes. S'il vous plaît suggérer certains requête qui peut me donner la réelle type de colonne de la colonne de métadonnées lui-même
Pourriez-vous être plus précis ce que vous entendez par "type de colonne"? Juste une traduction du code à deux caractères dans le dbc.ColumnsV.ColumnType à une chaîne de caractères, par exemple de CV -> VARCHAR? Ou VARCHAR(20), DECIMAL(10,2), etc.?
OriginalL'auteur user1011046 | 2014-02-05
Vous devez vous connecter pour publier un commentaire.
Pour les vues de la columntype sera NULLE, parce qu'il est résolu à l'exécution.
Pour une seule table, vous pouvez faire une AIDER COLONNE viewname.*; pour obtenir la réelle types de données.
Btw, il n'y a pas ce type Varchar2 dans Teradata, Oracle,: -)
Edit:
On dirait que vous voulez la définition complète d'une colonne. C'est un SQL UDF de retourner la même info que vous trouverez dans un TABLEAU d'exposition (je ne suis pas shure si TD14.10 est couvert, trop, je n'ai pas vérifier, encore):
Il n'y a pas d'autre moyen, mais des déclarations distinctes pour chaque vue. Pourquoi avez-vous besoin pour tous ces points de vue?
il y avait un genre unique de l'obligation où je dois correspondre à la base de données oracle pour la base de données teradata de savoir si toutes les tables ont le même nombre de colonnes et les colonnes ont la même largeur que dans oracle.
Grâce dnoeth & Sqlab. Juste un doute, certains columntype des valeurs des valeurs comme "----", "?" ou null. ce n'ces type de données à représenter.
Une valeur NULLE indique, il s'agit d'une colonne à partir d'une vue, seul le nom est stocké pour les colonnes
OriginalL'auteur dnoeth
J'ai trouvé cette déclaration
OriginalL'auteur sqlab
En passant par La récupération de la colonne et d'autres informations de métadonnées de Teradata je vous suggère d'extraire les noms de tables et de colonnes de la DBC des tables et ensuite créer un simple script' pour récupérer toutes les informations. Je n'ai pas la moindre idée de TD mais en allant de la De Référence Rapide il ne devrait pas être trop difficile de créer une boucle qui récupère les résultats de façon dynamique et l'insère dans votre propre table.
Enfin une bonne affaire à proposer un curseur =)
OriginalL'auteur deroby