SnowConvert AI - Teradata¶
具体的な CLI 引数¶
以下の CLI 引数は、 SnowConvert AI for Teradata で移行を行う場合に固有のものです。
--displaceDatabaseAsSchema¶
このフラグは、 -s パラメーターとともに使用する必要があります。使用すると、Snowflakeコード上のスキーマになるデフォルトの動作とは逆に、SnowflakeのデータウェアハウスとしてTeradataのデータベース名の資格を維持します。-s customSchema が含まれている例を見てみましょう。
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スクリプトファイルを変換するターゲット言語を指定します。現在サポートされている値は SnowScript と Python です。デフォルト値は Python に設定されています。
-n, --SessionMode <SESSION_MODE>¶
SnowConvert AI は、TERA と ANSI の両方のモードでTeradataコードを処理します。現在のところ、これは文字データのデフォルトの大文字小文字の仕様と、それが比較にどのように影響するかに限られています。
文字列値は、入力コードのセッションモードを指定します。現在サポートされている値は TERA と ANSI です。デフォルト値は 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;
--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¶
このフラグは、大文字小文字の区別に関する仕様(CASESPECIFIC か NOT CASESPECIFIC かなど)の機能を保持するために COLLATE か UPPER を使うかどうかを示します。デフォルトではオフになっており、大文字と小文字の区別をエミュレートするのに UPPER 関数(NOT CASESPECIFIC)が使用されることになります。SnowConvert AI で大文字と小文字の区別がどのように処理されるのかについて、詳しくはこちらをご覧ください。