1
我想從teradata的「幫助表」函數生成的數據集中創建一個表,這樣我可以添加一些關於該表的更多信息,並且能夠按條件過濾行。該表有400多列,所以這對管理來說非常方便。我希望能夠做一些類似於創建select的表,但它不適用於幫助表語法。缺少將數據導出爲excel,然後手動創建表模式並將表導回,沒有人知道如何將幫助表查詢的輸出轉換爲teradata中的表?如何過濾teradata幫助表
我想從teradata的「幫助表」函數生成的數據集中創建一個表,這樣我可以添加一些關於該表的更多信息,並且能夠按條件過濾行。該表有400多列,所以這對管理來說非常方便。我希望能夠做一些類似於創建select的表,但它不適用於幫助表語法。缺少將數據導出爲excel,然後手動創建表模式並將表導回,沒有人知道如何將幫助表查詢的輸出轉換爲teradata中的表?如何過濾teradata幫助表
HELP TABLE命令的輸出來自數據字典。
如果我理解正確,您想創建一個具有以下輸出的新表。
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 ?
您可以從表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 ?
但首先我們需要找出DatabaseId和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
你可以列出你所需要的所有列,並將它們存儲水漲船高。
select * from dbc.tvfields where databaseid='00000F04'xb and tableid='0000D8070000'xb;
太棒了!我從來不知道這些東西。 tyvm :) – 2010-09-15 21:19:11
是的。 DBC.Columns-> DBC.tables-> DBC.Databases以所需順序爲您提供列表,而不會打擾DatabaseId,TVMIDs。 – 2010-12-28 08:33:36