Comment trouver toutes les tables dans la base de données Teradata avec colonne spécifique des noms?
J'ai 2-3 différents noms de colonnes que je veux faire une recherche dans l'ensemble de la DB et de la liste de toutes les tables qui ont ces colonnes. Tout simple requête?
J'ai vu solution pour MySQL, qui ne marchera pas, parce que TD autant que je sache, n'ont pas de régimes, mais à la place j'ai trouvé cette.
Et essayé ce code:
SELECT TableName
FROM DBC.COLUMNS
WHERE DatabaseName = 'DB_NAME' and
ColumnName in ('col1', 'col2')
Mais sûrement sous-requête doit être utilisé pour obtenir le nom de la table, parce que DBC.Les COLONNES n'ont pas ce champ. D'autres idées?
DBC.Columns
semble être ce que vous êtes à la recherche de: info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/...OriginalL'auteur Rocketq | 2015-02-04
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour cette:
bien sûr, le
tablename
est dans le tableau. Dit d'utiliser une sous-requête est contre-productif.Vous avez raison, c'est dans le tableau, j'ai vérifié
show select* from DBC.Columns
Veuillez modifier l'affichage de dbc.ColumnsV, dbc.Des colonnes est une vieille version héritée, obsolète depuis TD12. En commençant par TD14.10 il peut retourner des résultats faux, si l'objet les noms de plus de 30 caractères sont utilisés...
Je vous remercie.
OriginalL'auteur Gordon Linoff