ビューを作成すると、パス式($path.$sitenoなど)がビューの列になり、基になるテーブルに複雑なパス式が含まれていることを認識することなく、ビューのユーザーがそれらの列にWHERE句を指定できるようになります。
ビュー内の列に付ける名前では、大文字と小文字が区別されません。この例では、大文字と小文字が混在していますが、必要な大文字と小文字の任意の組み合わせを使用してSQLクエリーで参照できます。
例では、サンプルの河川流量データ セットを使用します。独自のデータを使用するには、テーブル名、列名、および許可オブジェクトを置き換えます。サンプル データ セットの信頼証明および格納場所の値については、例の変数置換を参照してください。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 存在しない場合は、riverflow_json_pathという名前の外部テーブルを作成するか、データベース管理者に作成を依頼します。外部テーブルのペイロード列でのフィルタリングを参照してください。
- riverflow_jsonという名前の外部テーブルのビューを作成します。
REPLACE VIEW riverflowview_json 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, CAST(payload.Flow AS FLOAT) ( FORMAT '-ZZZ9.99') Flow, CAST(payload.GageHeight AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight1, CAST(payload.Precipitation AS FLOAT) ( FORMAT '-ZZZ9.99') Precipitation, CAST(payload.Temp AS FLOAT) ( FORMAT '-ZZZ9.99') Temperature, CAST(payload.Velocity AS FLOAT) ( FORMAT '-ZZZ9.99') Velocity, CAST(payload.BatteryVoltage AS FLOAT) ( FORMAT '-ZZZ9.99') BatteryVoltage, CAST(payload.GageHeight2 AS FLOAT) ( FORMAT '-ZZZ9.99') GageHeight2 FROM riverflow_json_path);