SnowConvert AI - Teradata変換設定¶
一般的な変換設定¶
一般結果設定¶
.png)
依存関係が欠落しているオブジェクトにコメントする: 依存関係が欠落しているノードにユーザーがコメントするかどうかを示すフラグ。
EWI コメント生成(エラー、警告、問題)を無効にする: 変換後のコードに EWIs のコメント(エラー、警告、問題)を生成しないかどうかを示すフラグ。デフォルトはfalseです
ストアドプロシージャ内の SQL ステートメントに対して XML タグを生成する: ストアドプロシージャ内の SQL ステートメント SELECT、 INSERT、 CREATE、 DELETE、 UPDATE、 DROP、 MERGE を変換後のコードにタグ付けするかどうかを示すフラグ。この機能は、移行されたコードのステートメントを簡単に識別するために使用されます。これらのステートメントを XML のようなタグでラッピングすると、他のプログラムがステートメントをすばやく見つけて取り出すことができるようになります。装飾されたコードは次のようになります。
//<SQL_DELETE EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[]) //SQL_DELETE!>
期間データ型の定義と使用を開始と終了のData-Timeフィールドに分離する: このフラグは、 PERIOD データ型の使用を、元の期間の開始値と終了値を保持する2つの別個のフィールド DATETIME としてツールに移行することを示すために使用されます。このフラグを使用して期間フィールドまたは関数が移行される場合はいつでも、この変更について警告するために SSC-EWI-TD0053 が追加されます。
入力コード:
CREATE TABLE myTable( col1 PERIOD(DATE), col2 VARCHAR(50), col3 PERIOD(TIMESTAMP) );
出力コード:
CREATE OR REPLACE TABLE myTable ( col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!, col2 VARCHAR(50), col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!! ) COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}' ;
入力ファイルのエンコードを設定する: 詳しくは 一般変換設定 を確認してください。
大文字小文字の区別に関する仕様に COLLATE を使用する:このフラグは、大文字小文字の区別に関する仕様(CASESPECIFIC か NOT CASESPECIFIC かなど)の機能を保持するために COLLATE か UPPER を使うかどうかを示します。デフォルトではオフになっており、UPPER 関数が大文字小文字を区別しない(NOT CASESPECIFIC)エミュレーションに使用されます。大文字小文字の指定が SnowConvert AI でどのように処理されるかについて詳しくは、こちらをご覧ください。
注釈
すべてのサポート言語に適用される設定を確認するには、次の 記事 をご覧ください。
セッションモード設定¶
この設定サブページは、入力コードのセッションモードを示すために使用されます。
.png)
SnowConvert AI は、TERA と ANSI の両方のモードでTeradataコードを処理します。現在のところ、これは文字データのデフォルトの大文字小文字の仕様と、それが比較にどのように影響するかに限られています。デフォルトでは、セッションモードは TERA です。
SnowConvert AI でセッションモードによってコードがどのように処理され、変換されるかについては、こちらをご覧ください。
DB オブジェクト名の設定¶
.png)
スキーマ: 文字列値は、適用するカスタムスキーマ名を指定します。指定しない場合は、元のデータベース名が使用されます。例: DB1.myCustomSchema.Table1。
データベース: 文字列値は、適用するカスタムデータベース名を指定します。例: MyCustomDB.PUBLIC.Table1。
デフォルト: 上記のいずれの設定もオブジェクト名には使用されません。
コード準備設定¶
.png)
説明¶
Prepare my code: 解析と変換の前に入力コードを処理すべきかどうかを示すフラグです。これは、構文解析プロセスを改善するのに役立ちます。デフォルトでは FALSE に設定されています。
入力コードのトップレベルオブジェクトを複数のファイルに分割します。フォルダーは以下のように構成されます。
└───A new folder named ''[input_folder_name]_Processed''
└───Top-level object type
└───Schema name
例¶
入力¶
├───in
│ DDL_Macros.sql
│ DDL_Procedures.sql
│ DDL_Tables.sql
出力¶
ファイル名は、入力ファイルのトップレベルのオブジェクトの名前であると仮定します。
├───in_Processed
├───macro
│ └───MY_DATABASE
│ MY_FIRST_MACRO.sql
│ ANOTHER_MACRO.sql
│
├───procedure
│ └───MY_DATABASE
│ A_PROCEDURE.sql
│ ANOTHER_PROCEDURE.sql
│ YET_ANOTHER_PROCEDURE.sql
│
└───table
└───MY_DATABASE
MY_TABLE.sql
ADDITIONAL_TABLE.sql
THIRD_TABLE.sql
「schema name」フォルダーの中には、入力コードのトップレベルオブジェクトと同じ数のファイルがあるはずです。また、複数の同じタイプのトップレベルオブジェクトが同じ名前を持つ場合、いくつかのファイルのコピーを持つことが可能です。この場合、ファイル名は昇順に列挙されます。

拡張子が「.sql」、「.ddl」、「.dml」のファイルのみが分割の対象となります。「.bteq」スクリプトのような他の種類のファイルは、前処理されたフォルダーにコピーされ、スクリプトの拡張子によって分類されますが、分割タスクによって変更されることはありません。
要件 ¶
トップレベルオブジェクトを識別するには、その宣言の前にタグをコメントに含める必要があります。抽出 スクリプトは、これらのタグを生成します。
タグは次の形式に従ってください。
<sc-top_level_object_type>top_level_object_name</sc-top_level_object_type>
次の例に従うことができます。
/* <sc-table> MY_DATABASE.MY_TABLE</sc-table> */
CREATE TABLE "MY_DATABASE"."MY_TABLE" (
"MY_COLUMN" INTEGER
) ;
形式変換設定¶
.png)
文字から数値へのデフォルトスケール: CHARACTER から概数への変換の整数値(デフォルト:10)。
デフォルト TIMESTAMP 形式: TIMESTAMP 形式の文字列値(デフォルト: 「YYYY/MM/DD HH:MI:SS.FF6」)。
デフォルト DATE 形式: DATE 形式の文字列値(デフォルト: 「YYYY/MM/DD」)。
ソース TIMEZONE: TIMEZONE 形式を表す文字列値(デフォルト値: 「GMT-5」)。
デフォルト TIME 形式: TIME 形式の文字列値(デフォルト: 「HH:MI:SS.FF6」)。
BTEQ、プロシージャ/マクロのターゲット言語¶
.png)
BteqおよびMloadスクリプトファイルを変換するターゲット言語を指定します。現在サポートされている値は SnowScript と Python です。デフォルト値は Python に設定されています。
.png)
ストアドプロシージャおよびマクロを変換するターゲット言語を指定する文字列値。現在サポートされているのは SnowScript と JavaScript です。デフォルト値は SnowScript に設定されています。
設定のリセット: 設定のリセットオプションは、すべてのページに表示されます。変更を加えた場合は、SnowConvert AI を元のデフォルト設定にリセットすることができます。