SnowConvert: Teradata

具体的な CLI 引数

以下の CLI 引数は、 SnowConvert for Teradata で移行を実行するためのものです。

--displaceDatabaseAsSchema

このフラグは、 -s パラメーターとともに使用する必要があります。使用すると、Snowflakeコード上のスキーマになるデフォルトの動作とは逆に、SnowflakeのデータウェアハウスとしてTeradataのデータベース名の資格を維持します。-s customSchema が含まれている例を見てみましょう。

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

--CharacterToApproximateNumber <NUMBER>

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

--DefaultDateFormat <STRING>

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

--DefaultTimeFormat <STRING>

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

--DefaultTimestampFormat <STRING>

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

--DefaultTimezoneFormat <STRING>

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

-p, --scriptTargetLanguage <TARGET_LANGUAGE>

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

-n, --SessionMode <SESSION_MODE>

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

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

セッションモードに応じて SnowConvert がどのようにコードを処理し、変換するかについては、こちらをご確認ください。

--replaceDeleteAllToTruncate

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

create table testTable(
    column1 varchar(30)
);

delete testTable all;

delete from testTable;
Copy
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;
Copy
-- 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;
Copy

--generateStoredProcedureTags

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

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

--splitPeriodDatatype

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

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
-- 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"}}'
;
Copy

--arrange

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

--RenamingFile

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

--UseCollateForCaseSpecification

このフラグは、大文字と小文字の指定機能を保持するために、 CASESPECIFIC または NOT CASESPECIFIC など、 COLLATE または UPPER のどちらを使用するかを示します。デフォルトではオフに設定されており、 UPPER 関数を使用して大文字と小文字を区別しません(NOT CASESPECIFIC)。SnowConvert で大文字と小文字がどのように扱われるかについては、こちらをご参照ください。