global temporary tables
Teradataでは、インスタンス化された(SQLステートメントによって参照される)レコードをデータディクショナリテーブルTVMに追加する必要があることがわかります。これらのレコードは、セッションがログオフした後に削除され、CREATE GLOBAL TEMPORARY TABLE
送信された元のステートメントに関連付けられたベーステーブルレコードのみが残ります。
これらのインスタンスは、ビューを使用して見つけることができますDBC.AllTempTables
。
Teradataではvolatile tables
、データディクショナリ内で維持されません。
編集-マイレージは異なる場合がありますが、これでTeradataを使い始めることができます
SELECT D1.DatabaseNameI AS DatabaseName_
, T1.TVMNameI AS TableName_
, F1.FieldName AS ColumnName_
FROM "DBC".TVM T1
INNER JOIN
"DBC".Dbase D1
ON D1.DatabaseId = T1.DatabaseId
INNER JOIN
"DBC".TVFields F1
ON F1.DatabaseId = T1.DatabaseId
AND F1.TableId = T1.TVMId
WHERE F1.FieldName = 'MyColumn'
--AND D1.DatabaseNameI IN ('{Database1}', ... '{Database99}') -- Filter on databases
AND F1.FieldType in ('i', 'i1', 'i2', 'i8') -- Integer, ByteInt, SmallInt, BigInt
--AND T1.TableKind IN ('T') -- Optional Filter to just tables.
AND NOT EXISTS
(SELECT 'x'
FROM "DBC".TempTables TT1
WHERE Tt1.TableId = T1.TVMId
)
;