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は単一列ゼロ統計または単一列インデックス ゼロ統計をコピーない。