例: 複数のビューにアクセスするSELECTリクエストに対するSHOW - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

同じ名前を持つが別のデータベース内に作成された2つのビューを使用して、新しいビューを作成します。

データベース名は、USおよびInternationalです。セッションは、Teradataモードになっています。

この例で使用するオブジェクトの作成に使用するDLLは次のとおりです。

     DATABASE us;
     CREATE TABLE table_1 (
       eno INTEGER);
     CREATE VIEW view_1 AS
      SELECT *
      FROM table_1;
     DATABASE international;
     CREATE TABLE table_1 (
       zno INTEGER);
     CREATE VIEW view_1 AS
      SELECT *
      FROM table_1;
     CREATE VIEW view_3 AS
      SELECT *
      FROM international.view_1, us.view_1;

view_3からデータを選択する問合わせでSHOWリクエストを実行する場合、QUALIFIEDオプションを指定しなければ、返されるレポートは、view_3にある2つのview_1要素が分かりにくくなります。

例えば、次の問合わせでSHOWを実行依頼するとします。

     SHOW SELECT * 
          FROM view_3;

レポートは、次のようになります。

     *** Text of DDL statement returned.
     *** Total elapsed time was 1 second.
     -------------------------------------------------------------
     CREATE SET TABLE international.table_1, NO FALLBACK,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL
     (zno INTEGER)
     PRIMARY INDEX (a);
     *** Text of DDL statement returned.
     -------------------------------------------------------------
     CREATE SET TABLE us.table_1, NO FALLBACK,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL
     (eno INTEGER)
     PRIMARY INDEX (eno);
     *** Text of DDL statement returned.
     -------------------------------------------------------------
     CREATE VIEW view_1 AS SELECT * FROM table_1;
     *** Text of DDL statement returned.
     -------------------------------------------------------------
     CREATE VIEW view_1 AS SELECT * FROM table_1;
     *** Text of DDL statement returned.

-------------------------------------------------------------

     CREATE VIEW view_3 AS SELECT * FROM international.view_1,us.view_1;