ソースの定義にサブクエリーを使用するAS … WITH NO DATAに関するルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage
CREATE TABLE AS … WITH NO DATAに関する一般ルールで説明されている一般ルールに加えて、コピー操作で使用するソース テーブルを定義するためにサブクエリーを指定doesAS … WITH NO DATA句にのみ、以下に示す一覧の固有のルールが適用されます。
  • Subquery で指定された列セットに固有性制約がなく、ターゲット テーブルがSET テーブルである場合は、Teradata Databaseはゼロ統計をコピーします。
  • 以下のいずれかの句、演算子、条件、または関数の種類がターゲット テーブルの定義で指定されている場合、Teradata Databaseはゼロ統計をコピーします。
    • WHERE句
    • GROUP BY句
    • HAVING句
    • QUALIFY句
    • DISTINCT演算子
    • TOP n演算子
    • 内部結合
    • 外部結合
    • 集約関数
    • OLAP関数
  • 選択リストで指定したインデックス列の相対順序が、ソース テーブルのインデックス列の順序と異なる場合でも、Teradata Databaseはゼロ複数列統計およびゼロインデックス統計をコピーします。
  • サブクエリーで複数のテーブルを参照する場合、Teradata Databaseはゼロ統計をコピーない
  • 列またはインデックスがターゲット テーブル定義で変更されている場合、Teradata Databaseは列またはインデックスのゼロ統計をコピーない。これは、列またはインデックス セットがターゲット テーブル定義で変更されるときの、統計のコピーに関するルールに違反するためです。
  • インデックス列セットのメンバーがターゲット テーブル定義で変更されている場合、Teradata Databaseは複合インデックス列のゼロ統計をコピーない。これは、列またはインデックス セットがターゲット テーブル定義で変更されるときの、統計のコピーに関するルールに違反するためです。

    列またはインデックスに対する変更例としては、CASE式、算術式、または変換属性の指定などがあります。

  • 単一列か複合列セットに関係なく、Teradata Databaseはシステム派生PARTITION列のゼロ統計をコピーない
  • Teradata Databaseは、サブクエリーで複合ビューまたは複合派生テーブルから作成されたターゲット テーブル列のゼロ統計をコピーない
  • 複数列統計または複合インデックス列統計を構成する列がターゲット テーブルにコピーされない場合、Teradata Databaseは複数列ゼロ統計または複合インデックス ゼロ統計をコピーない
  • 列または単一列インデックスがターゲット テーブルにコピーされない場合、Teradata Databaseは単一列ゼロ統計または単一列インデックス ゼロ統計をコピーない