17.10 - ビュー内の列としてのパス変数の使用 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Native Object Store 入門ガイド

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

ビューを作成すると、パス式($path.$sitenoなど)がビューの列になり、基になるテーブルに複雑なパス式が含まれていることを認識することなく、ユーザーがそれらの列にWHERE句を指定できるようになります。

ビュー内の列に付ける名前では、大文字と小文字が区別されません。大文字と小文字が混在して表示されますが、必要な大文字と小文字の任意の組み合わせを使用してSQLクエリーで参照できます。

例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。

  1. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  2. 存在しない場合はriverflow_csv_pathfilterという外部テーブルを作成するか、その外部テーブルを作成するようにデータベース管理者に依頼します。データ セット内の列を使用したフィルタリングを参照してください。
  3. 外部テーブルのビューを作成します。
    REPLACE VIEW riverflowview_csv AS (
    SELECT
    CAST($path.$siteno AS CHAR(10)) TheSite,
    CAST($path.$year AS CHAR(4)) TheYear,
    CAST($path.$month AS CHAR(2)) TheMonth,
    CAST(SUBSTR($path.$day, 1, 2) AS CHAR(2)) TheDay,
    Flow,
    GageHeight,
    Precipitation,
    Temp,
    Conductance
    FROM riverflow_csv_pathfilter);
  4. ビューを問合わせます。
    SELECT TOP 2 * FROM riverflowview_csv;

    結果は次のようになります。

    TheSite  TheYear TheMonth TheDay Flow  GageHeight  Precipitation  Temp  Conductance 
    -------- ------- -------- ------ ----- ----------- -------------  ----  ----------- 
    09380000    2018       07     18 17500	  10.21           .00  11.0         670
    09380000    2018       07     24 17700	  10.25           .00  10.9         670

    属性が欠落している列は、レコードに属性が含まれていない場合にNULLを返します。