17.00 - 17.05 - ビュー定義のシード文コンポーネント - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

シード文は、再帰的ビュー定義の非再帰的な文の部分です。この文には、後のプロセスで再帰的関係を構築するのに使用される初期行セットを提供するという目的があります。目的の再帰処理を生成するには、シード文が1つ以上の行を生成しなければなりません。そうしないと、再帰的クエリーを実行したときに空の結果セットが生成されてしまいます。

定義上、シード文の中には再帰的関係への参照はどこにも存在しません。再帰処理の概念で取り上げた例について考えてみましょう。太字で強調されているコードが定義のシード文です。

CREATE RECURSIVE VIEW reachable_from (source,destination,depth) AS (
  SELECT root.source, root.destination, 0 AS depth 
  FROM flights AS root 
  WHERE root.source ='Paris'
UNION ALL
  SELECT in1.source, out1.destination, in1.depth + 1
  FROM reachable_from in1, flights AS out1
  WHERE in1.destination = out1.source
  AND   in1.depth <= 100);

見てのとおり、シード クエリーの中には再帰的関係への参照がありません。