View 如何查询teradate数据库中所有视图中所有Teradata视图列的数据类型
我需要为清单类型任务找到数据库中所有teradata视图列的数据类型(>15k视图,>500模式)View 如何查询teradate数据库中所有视图中所有Teradata视图列的数据类型,view,teradata,View,Teradata,我需要为清单类型任务找到数据库中所有teradata视图列的数据类型(>15k视图,>500模式) 我知道通过使用以下查询可以找到单个列的类型(我使用DBC.ColumnsV作为通用示例): 结果:=>VARCHAR(128)字符集UNICODE 但是 获取数据库中所有视图的所有列将花费很长时间,并会产生大量开销和流量 我需要在目标视图上找到没有“选择”权限的数据类型 不幸的是,对于视图,DBC.ColumnsV中的列ColumnType始终为空 例如: SELECT C.ColumnId
我知道通过使用以下查询可以找到单个列的类型(我使用DBC.ColumnsV作为通用示例): 结果:=>
VARCHAR(128)字符集UNICODE
但是
- 获取数据库中所有视图的所有列将花费很长时间,并会产生大量开销和流量
- 我需要在目标视图上找到没有“选择”权限的数据类型
SELECT C.ColumnId-1024, ColumnName, ColumnType
FROM DBC.TablesV AS T
JOIN DBC.ColumnsV AS C ON T.DatabaseName=C.DatabaseNAme aND T.TableNAme=C.TableNAme
WHERE T.TableName LIKE 'ColumnsV' AND T.DatabaseNAme='DBC'
ORDER BY 1
;
存在
dbc.ColumnsQV
,但由于某些问题,QVCI功能目前已被禁用。要获取单个视图的定义,可以使用dbc.ColumnsV中的HELP COLUMN*代码>,但无法加入或插入/选择。您可以从处理输出的应用程序运行它,也可以从BTEQ导出到平面文件,然后再导入。
SELECT C.ColumnId-1024, ColumnName, ColumnType
FROM DBC.TablesV AS T
JOIN DBC.ColumnsV AS C ON T.DatabaseName=C.DatabaseNAme aND T.TableNAme=C.TableNAme
WHERE T.TableName LIKE 'ColumnsV' AND T.DatabaseNAme='DBC'
ORDER BY 1
;