例: 非再帰的ビューに指定されるRECURSIVE - Teradata Database - Teradata Vantage NewSQL Engine - 例: 非再帰的ビューに指定されるRECURSIVE、CREATE REPLACE RECURSIVE VIEW文

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

次の例のビュー定義は、それ自体の定義の内部に再帰的関係recへの参照を含んでいません。その参照が含まれていないために、文がキーワードRECURSIVEを指定しても、再帰的ビューを定義しません。その結果、ビュー定義は通常の非再帰的ビューを指定します。

    REPLACE RECURSIVE VIEW rec (p) AS (
      SELECT n
      FROM t
      WHERE n = 1
    UNION ALL
      SELECT t.n
      FROM t
      WHERE t.n = 0;

RECURSIVEキーワードは、ビュー定義が再帰的である可能性があることを意味しているに過ぎません。これは外部結合の指定によって作成される問合わせが外部結合を作成する可能性があるに過ぎず、条件の指定方法によっては内部結合しか作成しないことがある状況と似ています。

逆に、RECURSIVEキーワードを指定しないと、ビューを再帰的にすることができません。