WITH修飾子 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage
ルールと制限を以下に示します。
  • WITH修飾子内の再帰的な名前付きクエリーに表示できる唯一の集合演算子はUNION ALLです。
  • WITHまたはWITH RECURSIVE修飾子内で以下の要素を使用することはできません。
    • WITHまたはWITH RECURSIVE修飾子
    • TOP n演算子
    • ユーザー定義関数
  • WITH RECURSIVE文修飾子に含まれる再帰文の内部で以下の要素を使用することはできません。
    • 論理述部NOT INまたはNOT EXISTS
    • 集約関数
    • 順序付き分析関数
    • GROUP BY句
    • HAVING句
    • DISTINCT句
    • SUBPUERY
    • 派生テーブル
  • これらのデータベース オブジェクトのいずれかの定義においてWITH修飾子を指定することはできません。
    • トリガー
    • ストアド プロシージャ
  • 再帰文を持たない再帰的な名前付きクエリーは、非再帰的な名前付きクエリーと同じように動作します。

    以下のリクエストで生成される結果は、非再帰的な名前付きクエリーをWITH修飾子に指定するリクエストの場合と同じです。

         WITH RECURSIVE orderable_items (product_id, quantity) AS (
         SELECT stocked.product_id, stocked.quantity
         FROM stocked, product
         WHERE stocked.product_id = product.product_id
         AND   product.on_hand > 5)
         SELECT product_id, quantity
         FROM orderable_items
         WHERE quantity < 10;