例: 複数の参照整合性制約のあるテーブルの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

3つの基本テーブルがあり、その内の2つは参照整合性関係によって残りの1つの親であるとします。

DDL テーブル定義の次のセットでは、テーブルt1とt3の両方がテーブルt2の親です。

     CREATE SET TABLE t1 (
       a1 INTEGER,
       b1 INTEGER,
     FOREIGN KEY (b1) REFERENCES WITH CHECK OPTION t3(a3))
     UNIQUE PRIMARY INDEX (a1);
     CREATE SET TABLE t3 (
       a3 INTEGER,
       b3 INTEGER,
     FOREIGN KEY (b3) REFERENCES WITH CHECK OPTION t1(a1))
     UNIQUE PRIMARY INDEX (a3);
     CREATE SET TABLE t2 (
       a2 INTEGER,
       b2 INTEGER,
       b3 INTEGER,
     FOREIGN KEY (a2) REFERENCES WITH CHECK OPTION t1 (a1),
     FOREIGN KEY (b3) REFERENCES WITH CHECK OPTION t3 (a3))
     PRIMARY INDEX (a2);

次の問合わせでSHOWレポートを実行します。問合わせで直接指定するのはテーブルt2だけであるとしても、レポートにはt2の2つの親テーブルであるt1とt3のDDLも表示されることに注意してください。

     SHOW SELECT *
          FROM t2;
     *** Text of DDL statement returned.
     *** Total elapsed time was 1 second.
     -------------------------------------------------------------
     CREATE SET TABLE TEST.T2 ,NO FALLBACK ,
          NO BEFORE JOURNAL,
          NO AFTER JOURNAL
           (a2 INTEGER,
            b2 INTEGER,
            b3 INTEGER, 
     FOREIGN KEY ( a2 ) REFERENCES WITH CHECK OPTION TEST.T1 ( a1 ),
     FOREIGN KEY ( b3 ) REFERENCES WITH CHECK OPTION TEST.T3 ( a3 ))
     PRIMARY INDEX ( a2 );
     *** Text of DDL statement returned.
     -------------------------------------------------------------
     CREATE SET TABLE TEST.T1, NO FALLBACK,
          NO BEFORE JOURNAL,
          NO AFTER JOURNAL
          (a1 INTEGER,
           b1 INTEGER
     FOREIGN KEY (b1) REFERENCES WITH CHECK OPTION t3(a3))
     UNIQUE PRIMARY INDEX (a1);
     *** Text of DDL statement returned.
     -------------------------------------------------------------
     CREATE SET TABLE TEST.T3, NO FALLBACK,
          NO BEFORE JOURNAL,
          NO AFTER JOURNAL
           (a3 INTEGER,
            b3 INTEGER
     FOREIGN KEY (b3) REFERENCES WITH CHECK OPTION t1(a1))
     UNIQUE PRIMARY INDEX (a3);