SnowConvert AI - Teradata

具体的な CLI 引数

以下の CLI 引数は、 SnowConvert AI for Teradata で移行を行う場合に固有のものです。

--displaceDatabaseAsSchema

This flag must be used with the -s parameter. When used it will maintain Teradata's database name qualification as Snowflake's data warehouse, contrary to its default behavior where it becomes a schema on Snowflake code. Let's look at an example where -s customSchema is included:

SELECT * FROM databaseName.tableName;
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;

--CharacterToApproximateNumber <NUMBER>

CHARACTER から概数への変換の整数値(デフォルト:10)。

--DefaultDateFormat <STRING>

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

--DefaultTimeFormat <STRING>

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

--DefaultTimestampFormat <STRING>

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

--DefaultTimezoneFormat <STRING>

デフォルト TIMEZONE 形式の文字列値(デフォルト: "GMT-5")。

-p, --scriptTargetLanguage <TARGET_LANGUAGE>

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

-n, --SessionMode <SESSION_MODE>

SnowConvert AI は、TERA と ANSI の両方のモードでTeradataコードを処理します。現在のところ、これは文字データのデフォルトの大文字小文字の仕様と、それが比較にどのように影響するかに限られています。

文字列値は、入力コードのセッションモードを指定します。現在サポートされている値は TERAANSI です。デフォルト値は TERA に設定されています。

SnowConvert AI でセッションモードによってコードがどのように処理され、変換されるかについては、こちらをご覧ください。

--replaceDeleteAllToTruncate

Delete AllステートメントをTruncateに置き換える必要があるかどうかを示すフラグ。これにより、置き換えが完了すると、 SSC-EWI-TD0037 が生成されます。例:

create table testTable(
    column1 varchar(30)
);

delete testTable all;

delete from testTable;
CREATE OR REPLACE TABLE testTable (
    column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

DELETE FROM testTable;

DELETE FROM 
    testTable;
-- Additional Params: --replaceDeleteAllToTruncate
CREATE OR REPLACE TABLE testTable (
    column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

TRUNCATE TABLE testTable;

DELETE FROM 
    testTable;

--generateStoredProcedureTags

ストアドプロシージャの SQL ステートメント SELECT、 INSERT、 CREATE、 DELETE、 UPDATE、 DROP、 MERGE を変換後のコードにタグ付けするかどうかを示すフラグ。この機能は、移行されたコードのステートメントを簡単に識別するために使用されます。これらのステートメントを XML のようなタグでラッピングすると、他のプログラムがステートメントをすばやく見つけて取り出すことができるようになります。装飾されたコードは次のようになります。

//<SQL_DELETE
EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[])
//SQL_DELETE!>

--splitPeriodDatatype

このフラグは、 PERIOD データ型の使用を、元の期間の開始値と終了値を保持する2つの別個のフィールド DATETIME としてツールに移行することを示すために使用されます。このフラグを使用して期間フィールドまたは関数が移行される場合はいつでも、この変更について警告するために SSC-FDM-TD0004 が追加されます。

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"}}'
;
-- Additional Params: --splitPeriodDatatype
CREATE OR REPLACE TABLE myTable (
   col1_begin DATE,
   col1_end DATE /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/,
   col2 VARCHAR(50),
   col3_begin TIMESTAMP,
   col3_end TIMESTAMP /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

--arrange

入力コードを解析して変換する前に処理するかどうかを示すフラグ。

--RenamingFile

テーブル、ビュー、プロシージャ、関数、マクロなどの特定のオブジェクトの新しい名前を指定する.jsonファイルへのパス。このパラメーターは customSchema 引数とは併用できません。この引数の詳細については、 名前の変更機能を参照してください。

--UseCollateForCaseSpecification

This flag indicates whether to use COLLATE or UPPER to preserve Case Specification functionality, for example, 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.