17.10 - 例: 非再帰的ビューに指定されるRECURSIVE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

次の例のビュー定義は、それ自体の定義の内部に再帰的関係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キーワードを指定しないと、ビューを再帰的にすることができません。