SnowConvert AI - Teradata Conversion Settings

一般的な変換設定

一般結果設定

一般結果設定サブページ

  1. 依存関係が欠落しているオブジェクトにコメントする: 依存関係が欠落しているノードにユーザーがコメントするかどうかを示すフラグ。

  2. EWI コメント生成(エラー、警告、問題)を無効にする: 変換後のコードに EWIs のコメント(エラー、警告、問題)を生成しないかどうかを示すフラグ。デフォルトはfalseです

  3. ストアドプロシージャ内の 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!>
    
    Copy
  4. 期間データ型の定義と使用を開始と終了のData-Timeフィールドに分離する: このフラグは、 PERIOD データ型の使用を、元の期間の開始値と終了値を保持する2つの別個のフィールド DATETIME としてツールに移行することを示すために使用されます。このフラグを使用して期間フィールドまたは関数が移行される場合はいつでも、この変更について警告するために SSC-EWI-TD0053 が追加されます。

    入力コード:

    CREATE TABLE myTable(
       col1 PERIOD(DATE),
       col2 VARCHAR(50),
       col3 PERIOD(TIMESTAMP)
    );
    
    Copy

    出力コード:

    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"}}'
    ;
    
    Copy
  5. Set encoding of the input files: Check General Conversion Settings for more details.

  6. Use COLLATE for Case Specification: This flag indicates whether to use COLLATE or UPPER to preserve Case Specification functionality, e.g. CASESPECIFIC or NOT CASESPECIFIC. By default, it is turned off, meaning that the UPPER function will be used to emulate case insensitivity (NOT CASESPECIFIC). To learn more about how Case Specification is handled by SnowConvert AI check here.

注釈

すべてのサポート言語に適用される設定を確認するには、次の 記事 をご覧ください。

セッションモード設定

この設定サブページは、入力コードのセッションモードを示すために使用されます。

セッションモード設定サブページ

SnowConvert AI handles Teradata code in both TERA and ANSI modes. Currently, this is limited to the default case specification of character data and how it affects comparisons. By default, the Session Mode is TERA.

You can learn more about how SnowConvert AI handles and converts code depending on the session mode, check here.

DB オブジェクト名の設定

DB オブジェクト名設定ページ

  1. スキーマ: 文字列値は、適用するカスタムスキーマ名を指定します。指定しない場合は、元のデータベース名が使用されます。例: DB1.myCustomSchema.Table1。

  2. データベース: 文字列値は、適用するカスタムデータベース名を指定します。例: MyCustomDB.PUBLIC.Table1。

  3. デフォルト: 上記のいずれの設定もオブジェクト名には使用されません。

コード準備設定

コード準備設定ページ

Description

Prepare my code: Flag to indicate whether the input code should be processed before parsing and transformation. This can be useful to improve the parsing process. By default, it's set to FALSE.

Splits the input code top-level objects into multiple files. The containing folders would be organized as follows:

└───A new folder named ''[input_folder_name]_Processed''
    └───Top-level object type
        └───Schema name
Copy

Example

Input

├───in
│       DDL_Macros.sql
│       DDL_Procedures.sql
│       DDL_Tables.sql
Copy

Output

Assume that the name of the files is the name of the top-level objects in the input files.


├───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
Copy

Inside the "schema name" folder, there should be as many files as top-level objects in the input code. Also, it is possible to have copies of some files when multiple same-type top-level objects have the same name. In this case, the file names will be enumerated in ascending order.

Only files with the ".sql", ".ddl" and ".dml" extensions will be considered for splitting. Other kinds of files like ".bteq" scripts will be copied into the preprocessed folder and will be categorized depending on the script extension but they won't be modified by the Split Task.

Requirements

To identify top-level objects, a tag must be included in a comment before their declaration. Our Extraction scripts generate these tags.

The tag should follow the next format:

<sc-top_level_object_type>top_level_object_name</sc-top_level_object_type>
Copy

You can follow the next example:

/* <sc-table> MY_DATABASE.MY_TABLE</sc-table> */
CREATE TABLE "MY_DATABASE"."MY_TABLE" (
    "MY_COLUMN" INTEGER
) ;
Copy

形式変換設定

形式変換設定ページ

  1. 文字から数値へのデフォルトスケール: CHARACTER から概数への変換の整数値(デフォルト: 10)。

  2. デフォルト TIMESTAMP 形式: TIMESTAMP 形式の文字列値(デフォルト: 「YYYY/MM/DD HH:MI:SS」)。

  3. デフォルト DATE 形式: DATE 形式の文字列値(デフォルト: 「YYYY/MM/DD」)。

  4. ソース TIMEZONE: TIMEZONE 形式を表す文字列値(デフォルト値: 「GMT-5」)。

  5. デフォルト TIME 形式: TIME 形式の文字列値(デフォルト: 「HH:MI:SS」)。

BTEQ、プロシージャ/マクロのターゲット言語

BTEQ ターゲット言語設定ページ

BteqおよびMloadスクリプトファイルを変換するターゲット言語を指定します。現在サポートされている値は SnowScriptPython です。デフォルト値は Python に設定されています。

プロシージャ/マクロターゲット言語設定ページ

ストアドプロシージャおよびマクロを変換するターゲット言語を指定する文字列値。現在サポートされているのは SnowScriptJavaScript です。デフォルト値は SnowScript に設定されています。

Reset Settings: The reset settings option appears on every page. If you've made changes, you can reset SnowConvert AI to its original default settings.