2016-04-16 3 views
0

以下のteradata構文の違いを理解することはできません。誰かが助けてくれますか?Teradataのテーブル作成構文の違い

既存のテーブルをコピーすると、テーブル&列レベルでの属性のほとんどが継承され、例えば:

CREATE TABLE EMP_TABLE_BACKUP AS (SELECT * FROM EMP_TABLE) WITH DATA; 
+0

私は2つの間に違いはないと信じています。両方とも同じ構造とデータを持つテーブルを作成します。 SHOW TABLEコマンドを使用することによって違いがあるかどうかを、各クエリで異なる名前を使用してテストできます。通常、ありがとう! – Mohan

答えて

2

CREATE TABLE AS existing_tableCREATE TABLE AS (SELECT...)の間に大きな違いがあります対

CREATE TABLE EMP_TABLE_BACKUP AS EMP_TABLE WITH DATA; 

SETまたはMULTISET、プライマリ&セカンダリインデックス、NOT NULLCOMPRESS。トリガーのみ&外部キーはコピーされません。

しかし、SELECTを具体化すると、ほとんどの属性が失われます。すべての列はNULL可能です&とPIはおそらく最初の列に既定です。

Teradata manuals

+0

ありません。もう1つの質問 - デフォルトではテーブルのフォールバックが有効になっていますか? – Pugazh

+1

@Pugazh: 'FALLBACK'のデフォルトはデータベースレベルで設定されます。** dbc.DatabasesV.ProtectionType **、' F'または 'N'を参照してください。 – dnoeth

関連する問題