SnowConvert AI - Oracle変換設定

一般的な変換設定

オブジェクトの変換

一般変換設定ページ

  1. 同義語を変換する: 同義語を変換するかどうかを示すフラグ。デフォルトではtrueに設定されています。

  2. パッケージを新しいスキーマに変換する: パッケージを新しいスキーマに変換するかどうかを示すフラグ。

    フラグを有効や無効にするプロシージャの名前を確認してください。

入力

CREATE OR REPLACE PACKAGE emp_mgmt AS
PROCEDURE remove_emp (employee_id NUMBER );
END emp_mgmt;

CREATE OR REPLACE PACKAGE BODY emp_mgmt AS 
PROCEDURE remove_emp (employee_id NUMBER) IS 
   BEGIN 
      DELETE FROM employees 
      WHERE employees.employee_id = remove_emp.employee_id; 
      tot_emps := tot_emps - 1; 
   END; 
END emp_mgmt; 
Copy

出力デフォルト

CREATE SCHEMA IF NOT EXISTS emp_mgmt
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
;

CREATE OR REPLACE PROCEDURE emp_mgmt.remove_emp (employee_id NUMBER(38, 18))
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
   BEGIN
      DELETE FROM
         employees
         WHERE employees.employee_id = remove_emp.employee_id;
         tot_emps :=
                     !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN unknown AND Number ***/!!!
                     tot_emps - 1;
   END;
$$;
Copy

disablePackagesAsSchemas パラメーター付きの出力

-- Additional Params: --disablePackagesAsSchemas
CREATE OR REPLACE PROCEDURE EMP_MGMT_REMOVE_EMP (employee_id NUMBER(38, 18))
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
   BEGIN
      DELETE FROM
         employees
         WHERE employees.employee_id = remove_emp.employee_id;
         tot_emps :=
                     !!!RESOLVE EWI!!! /*** SSC-EWI-OR0036 - TYPES RESOLUTION ISSUES, ARITHMETIC OPERATION '-' MAY NOT BEHAVE CORRECTLY BETWEEN unknown AND Number ***/!!!
                     tot_emps - 1;
   END;
$$;
Copy
  1. タイムスタンプとして日付を変換する:

SYSDATECURRENT_DATE または CURRENT_TIMESTAMP に変換すべきかどうかを示すフラグ。これは、 TIMESTAMP に変換されるすべての DATE 列にも影響します。

入力

CREATE TABLE DATE_TABLE(
    DATE_COL DATE
);

SELECT SYSDATE FROM DUAL;
Copy

出力デフォルト

CREATE OR REPLACE TABLE DATE_TABLE (
        DATE_COL TIMESTAMP /*** SSC-FDM-OR0042 - DATE TYPE COLUMN HAS A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/
    )
    COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
    ;

    SELECT
        CURRENT_TIMESTAMP()
    FROM DUAL;
Copy

disableDateAsTimestamp パラメーター付きの出力

-- Additional Params: --disableDateAsTimestamp
CREATE OR REPLACE TABLE DATE_TABLE (
        DATE_COL DATE /*** SSC-FDM-OR0042 - DATE TYPE COLUMN HAS A DIFFERENT BEHAVIOR IN SNOWFLAKE. ***/
    )
    COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
    ;

    SELECT
        CURRENT_DATE()
    FROM DUAL;
Copy
  1. OUTER JOINS を ANSI 構文に変換する: 外側結合を ANSI 構文のみに変換するかどうかを示すフラグ。

  2. データ変換タイプ: JSON ファイルをアップロードして、データ型の基点と列名を考慮した特定のデータ型を定義することができます。

一般結果タブ

一般結果タブ

  1. Comment objects with missing dependencies: このフラグは、ユーザーが依存関係が欠落しているノードにコメントしたいかどうかを示します。

  2. 入力ファイルのエンコードを設定する: 詳しくは 一般変換設定 を確認してください。

注釈

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

DB オブジェクト名の設定

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

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

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

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

コード準備設定

コード準備設定ページ

説明

Prepare my code: 解析と変換の前に入力コードを処理すべきかどうかを示すフラグです。これは、構文解析プロセスを改善するのに役立ちます。デフォルトでは、 FALSE に設定されています。

入力コードのトップレベルオブジェクトを複数のファイルに分割します。フォルダーは以下のように構成されます。

コピー

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

入力

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

出力

ファイル名は、入力ファイルのトップレベルのオブジェクトの名前であると仮定します。


├───in_Processed
    ├───package
    │   └───MY_SCHEMA
    │           MY_FIRST_PACKAGE.sql
    │           ANOTHER_PACKAGE.sql
    │
    ├───procedure
    │   └───MY_SCHEMA
    │           A_PROCEDURE.sql
    │           ANOTHER_PROCEDURE.sql
    │           YET_ANOTHER_PROCEDURE.sql
    │
    └───table
        └───MY_SCHEMA
                MY_TABLE.sql
                ADDITIONAL_TABLE.sql
                THIRD_TABLE.sql
Copy

「schema name」フォルダーの中には、入力コードのトップレベルオブジェクトと同じ数のファイルがあるはずです。また、複数の同じタイプのトップレベルオブジェクトが同じ名前を持つ場合、いくつかのファイルのコピーを持つことが可能です。この場合、ファイル名は昇順に列挙されます。

要件

トップレベルオブジェクトを識別するには、その宣言の前にタグをコメントに含める必要があります。抽出 スクリプトは、これらのタグを生成します。

タグは次の形式に従ってください。

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

次の例に従うことができます。

/* <sc-table> MY_SCHEMA.MY_TABLE</sc-table> */
CREATE TABLE "MY_SCHEMA"."MY_TABLE" (
    "MY_COLUMN" VARCHAR2(128)
) ;
Copy

変換率設定

変換率設定ページ

このページでは、変換に成功したコードのパーセントを、コードの行数で計算するか、文字数の合計で計算するかを選択できます。文字変換率 がデフォルトのオプションです。ドキュメントページ ですべての率に関するドキュメントを参照できます。

ストアドプロシージャターゲット言語設定

ストアドプロシージャターゲット言語設定ページ

このページでは、ストアドプロシージャをSnow SQL に埋め込まれた JavaScript に移行するか、Snowflake Scriptingに移行するかを選択できます。デフォルトのオプションはSnowflake Scriptingです。

Reset Settings: 設定のリセットオプションは、すべてのページに表示されます。変更を加えた場合は、 SnowConvert AI を元のデフォルト設定にリセットすることができます。