テーブル作成テンプレートのテスト¶
Denodo では、キャッシュ、データ移動、リモートテーブル、サマリテーブルで使用するテーブル作成コマンドをカスタマイズする SQL コマンドテンプレートをサポートしています。テンプレートは、複数のパラメータを指定する SQL ステートメント CREATE TABLE
で、文を実行する前にそのパラメータの値に置き換えられます。
TEST CREATE_TABLE_TEMPLATE
コマンドは、パラメータとして指定されたデータソースでテーブル作成テンプレートが有効かどうかをチェックします。このコマンドは、以下の手順を実行します。
テンプレートを読み込み、パラメータをその値で置き換えます。
最初の手順で生成された CREATE TABLE SQL コマンドを実行します。
前の手順で作成された一時テーブルを削除します。
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)