SnowConvert AI - Oracle Conversion Settings

일반 변환 설정

Object Conversion

일반 변환 설정 페이지

  1. 동의어 변환: 동의어를 변환할지 여부를 나타내는 플래그입니다. 기본적으로 true로 설정되어 있습니다.

  2. 패키지를 새 스키마로 변환: 패키지를 새 스키마로 변환할지 여부를 나타내는 플래그입니다.

    플래그를 활성화 및 비활성화하는 프로시저의 이름을 확인하십시오.

Input

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

Output Default

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

Output with param 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 열에도 영향을 미칩니다.

Input

CREATE TABLE DATE_TABLE(
    DATE_COL DATE
);

SELECT SYSDATE FROM DUAL;
Copy

Output Default

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

Output with param 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. Data Conversion Types: You can upload a JSON file below to define specific data types considering data type origin and column name.

General Result Tab

General Results Tab

  1. Comment objects with missing dependencies: This flag indicates whether the user wants to comment on nodes with missing dependencies.

  2. Set encoding of the input files: Check General Conversion Settings for more details.

참고

지원되는 모든 언어에 적용되는 설정을 검토하려면 다음 문서를 참조하십시오.

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:

Copy

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

Example

Input

├───in
│       DDL_Packages.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
    ├───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

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.

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_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: The reset settings option appears on every page. If you’ve made changes, you can reset SnowConvert AI to its original default settings.