2017-05-25 2 views
0

私は、Teradataオブジェクトのメタ情報を使用していくつかのチェックとテストを行うアプリケーションに取り組んでいます。は、次のとおりです。 返された列を明示的に指定するビューとそうでないビュー(Teradata)の違いは何ですか?

REPLACE VIEW dw_v_customer 
AS LOCK ROW ACCESS 
SELECT 
    t1.col1, t2.col2 
FROM table1 t1 
    LEFT OUTER JOIN table2 t2 

が質問明示的な列

1)明示的な列

REPLACE VIEW dw_v_customer 
(
    col1, col2 
) 
AS LOCK ROW ACCESS 
SELECT 
    t1.col1, t2.col2 
FROM table1 t1 
    LEFT OUTER JOIN table2 t2 

2): 'ビューの表示' を使用して、私は、ビューは次の2つの方法で指定できないことに気づきましたビュー定義を作成/置換するこれらの方法には違いがありますか?

+2

実際の違いはありません。しかし、#1の明示的な列名はエイリアスを上書きします。 'REPLACE VIEW dw_v_customer ( foo ) SELECT t1.col1 as bar'が列名* foo *になります。出力を解析する場合は、代わりに 'SHOW IN XML VIEW'を使用することを検討してください。これにはデータ型も含まれます。 – dnoeth

+0

@dnoeth - 括弧内の列は最終的なエイリアスになります。 '' XMLビューでの表示 'は 'columnsv'がテーブル(列)に対してのみ表示するように見えるため、データ型を見つけるのに非常に便利です。私はあなたのコメントが質問の答えになると思う。ありがとう。 – Alexei

答えて

0

これらは同じです。違いはありません。最初のバージョンは単に列と順序を明示的に列挙するだけです。

関連する問題