USER MANUALS


テーブル作成テンプレートのテスト

Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。テンプレートは、複数のパラメータを指定する SQL ステートメント CREATE TABLE で、文を実行する前にそのパラメータの値に置き換えられます。

TEST CREATE_TABLE_TEMPLATE コマンドは、パラメータとして指定されたデータソースでテーブル作成テンプレートが有効かどうかをチェックします。このコマンドは、以下の手順を実行します。

  1. テンプレートを読み込み、パラメータをその値で置き換えます。

  2. 最初の手順で生成された CREATE TABLE SQL コマンドを実行します。

  3. 前の手順で作成された一時テーブルを削除します。

TEST CREATE_TABLE_TEMPLATE ステートメントの構文:

TEST CREATE_TABLE_TEMPLATE
    TEMPLATE_INFO
        [ TEMPLATE_NAME = <template_name:literal> ]
        TEMPLATE_STATEMENT = <template_definition:literal> [ DEFAULT( <parameter_value> [, <parameter_value> ]* ) ]
    DATA_SOURCE_INFO
        DATABASE_NAME = <data_source_database:literal>
        DATA_SOURCE_NAME = <data_source_name:literal>
        [ CATALOG_NAME = <data_source_catalog:literal> ]
        [ SCHEMA_NAME = <data_source_schema:literal> ]
    [ VIEW_INFO
        DATABASE_NAME = <view_database:literal>
        VIEW_NAME = <view_name:literal> ]
    [ DATA_LOAD_QUERY = <select_query:literal> ]

<parameter_value> ::= <parameter_name:literal> = <parameter_value:literal>

<literal> ::= '.*' (a single quote in a literal has to be escaped with another single quote. E.g. 'literal''with a quote')

注: テンプレート定義内でパラメータを使用できます。構文: @{parameter_name}

必要な権限

このコマンドを実行するには、ユーザーに以下の権限が必要です。

  • JDBC データソースのデータベースに対する Connect 権限。

  • JDBC データソースに対する Execute 権限と Write 権限。

  • ビューに対する Metadata 権限 (コマンドでビューを使用する場合)。

使用例

TEST CREATE_TABLE_TEMPLATE
    TEMPLATE_INFO
        TEMPLATE_NAME = 'my_template'
        TEMPLATE_STATEMENT = 'CREATE TABLE @{internal_parameter_table_name} (@{internal_parameter_columns} @{internal_parameter_restrictions}) STORAGE (INITIAL @{first_extent_size})' DEFAULT('first_extent_size' = '50K')
    DATA_SOURCE_INFO
        DATABASE_NAME = 'admin'
        DATA_SOURCE_NAME = 'my_data_source'
        SCHEMA_NAME = 'my_schema'

コマンドの結果:

Product Name : Oracle
Product Version : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0

Table creation template: my_template
Create table command: CREATE TABLE "my_schema".TEMPLATE_TEST_76443224450387 (
    column_1 DECIMAL(20), column_2 VARCHAR2(4000), column_3 VARCHAR2(4000)
)
STORAGE (INITIAL 50K)
Add feedback