TERADATA:在数据库中搜索列
TERADATA: SEARCH FOR COLUMNNANE IN DATABASE
我有一个名为 'xxx' 的数据库名称,其中 return 是一堆表..
我希望能够 return 只有其中包含特定列的表。
我设法让所有表格显示:
SELECT DatabaseName,
TableName,
CreateTimeStamp,
LastAlterTimeStamp
FROM DBC.TablesV
WHERE TableKind = 'T' and DatabaseName = 'XXX'
ORDER BY TableName;
我如何才能 return 只有具有特定列的表。
您可以使用 columnsV
table 代替:
SELECT DISTINCT tablesV.DatabaseName,
tablesV.TableName,
tablesV.CreateTimeStamp,
tablesV.LastAlterTimeStamp
FROM DBC.TablesV
INNER JOIN DBC.ColumnsV
ON tablesV.databasename = columnsV.databasename
AND tablesV.tablename = columnsV.tablename
WHERE tablesV.TableKind IN ('T','O') and tablesV.DatabaseName = 'XXX'
AND columnsV.ColumnName = 'specialColumnName'
ORDER BY TableName;
我还向您的 TableKind
添加了 O
,这样您就不会错过您环境中的任何 NOPI table。
我有一个名为 'xxx' 的数据库名称,其中 return 是一堆表.. 我希望能够 return 只有其中包含特定列的表。 我设法让所有表格显示:
SELECT DatabaseName,
TableName,
CreateTimeStamp,
LastAlterTimeStamp
FROM DBC.TablesV
WHERE TableKind = 'T' and DatabaseName = 'XXX'
ORDER BY TableName;
我如何才能 return 只有具有特定列的表。
您可以使用 columnsV
table 代替:
SELECT DISTINCT tablesV.DatabaseName,
tablesV.TableName,
tablesV.CreateTimeStamp,
tablesV.LastAlterTimeStamp
FROM DBC.TablesV
INNER JOIN DBC.ColumnsV
ON tablesV.databasename = columnsV.databasename
AND tablesV.tablename = columnsV.tablename
WHERE tablesV.TableKind IN ('T','O') and tablesV.DatabaseName = 'XXX'
AND columnsV.ColumnName = 'specialColumnName'
ORDER BY TableName;
我还向您的 TableKind
添加了 O
,这样您就不会错过您环境中的任何 NOPI table。