USER MANUALS

GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW_FROM_QUERY

説明

ストアドプロシージャ GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW_FROM_QUERY は、JDBC データソースの基盤となるデータベースに対して実行される、指定した SQL 文の JDBC 基本ビューの作成に必要な VQL ステートメントを返します。このプロシージャは、実際には基本ビューを作成せず、そのための VQL ステートメントを返すだけであることに注意してください。

GET_JDBC_DATASOURCE_TABLES プロシージャと組み合わせることで、ソースデータベースのすべてのテーブル/ビュー用の基本ビューを作成するプロセスを自動化できます。

このプロシージャは、基本ビューを作成せず、そのための VQL ステートメントを返すだけです。

他のタイプのデータソース (DF、XML、JSON など) に対する基本ビューを作成する VQL ステートメントを取得するには、DenodoConnect コンポーネントの Denodo VQL Generation を使用します。これはサポートサイトで入手可能です。そのドキュメントについては、 Denodo Community を参照してください。

構文

GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW_FROM_QUERY (
      data_source_name : text
    , sql_sentence : text
    , interpolation_vars : array
    , base_view_name : text
    , folder : text
    , i18n : text
    , database_name : text
)
  • data_source_name: データソースの名前。

  • sql_sentence: 実行する SQL クエリ。クエリの構文の詳細については、「 SQL クエリからの基本ビューの作成 」のセクションを参照してください。

  • interpolation_vars: レジスターとクエリ補間変数の値の配列 (「 補間変数によるパスなどの値 」のセクションを参照)。クエリで変数を使用しない場合は、 null に設定するか、空白のままにします。各レジスターには以下のフィールドがあります。

    • 補間変数の名前。

    • 指定した補間変数の値。

  • base_view_name: 作成される基本ビューの名前。null の場合、名前は自動生成されます。

  • folder: 作成された基本ビューを配置するフォルダ。結果には、このフォルダを作成するための VQL ステートメントが含まれます。null の場合、VQL でフォルダは指定されません。

  • i18n: 作成される基本ビューのロケール。null の場合、プロシージャはデータソースが属する Virtual DataPort データベースのロケールを割り当てます。null に設定することをお勧めします。

  • database_name: JDBC データソースが属するデータベースの名前。null の場合、プロシージャは現在のデータベースを使用します。


このプロシージャは、基本ビューを作成するために必要な VQL ステートメントごとに 1 つの行を返します。

  • creation_vql: 望みどおりの基本ビューを作成するために必要なステートメント。

スキーマ、カタログ、またはテーブルがデータベースに存在しない場合、このプロシージャはエラーを返します。

必要な権限

ユーザーには、データソースに対する実行権限が必要です。

例 1

CALL GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW_FROM_QUERY (
      'ds_mydatasource'
    , 'SELECT * FROM vdp.emp'
    , null
    , 'base_view_emp')

これは、ビュー「base_view_emp」を作成するための VQL と、「SELECT * FROM vdp.emp」を「ds_mydatasource」の基盤となるデータベースに対して実行して得られる結果を返します。

例 2

CALL GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW_FROM_QUERY (
      'ds_mydatasource'
    , 'SELECT * FROM emp WHERE empno > @{in_empno} AND depnto > @{in_deptno}'
    , {
         ROW('in_empno', 1000),
         ROW('in_deptno', 10)
       }
    , 'base_view_emp_vars')
);

前述の例と同じ処理を行いますが、SQL クエリで補間変数を使用しています。

Add feedback