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. 종속성이 누락된 오브젝트에 설명 추가: 이 플래그는 사용자가 종속성이 누락된 노드에 대해 주석을 추가할지 여부를 나타냅니다.

  2. 입력 파일의 인코딩 설정: 자세한 내용은 일반 변환 설정을 확인하세요.

참고

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

DB 오브젝트 이름 설정

DB 오브젝트 이름 설정 페이지

  1. 스키마: 문자열 값은 적용할 사용자 지정 스키마 이름을 지정합니다. 지정하지 않으면 원래 데이터베이스 이름이 사용됩니다. 예: DB1.myCustomSchema.Table1.

  2. 데이터베이스: 문자열 값은 적용할 사용자 지정 데이터베이스 이름을 지정합니다. 예: MyCustomDB.PUBLIC.Table1.

  3. 기본값: 위의 설정 중 어느 것도 오브젝트 이름에 사용되지 않습니다.

코드 설정 준비하기

코드 설정 페이지 준비

설명

내 코드 준비: 구문 분석 및 변환 전에 입력 코드를 처리해야 하는지 여부를 나타내는 플래그입니다. 이는 구문 분석 프로세스를 개선하는 데 유용할 수 있습니다. 기본적으로 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

“스키마 이름” 폴더 내부에는 입력 코드의 최상위 오브젝트 수만큼 파일이 있어야 합니다. 또한, 동일한 유형의 여러 최상위 오브젝트의 이름이 같은 경우 일부 파일의 복사본이 있을 수 있습니다. 이 경우 파일 이름은 오름차순으로 나열됩니다.

요구 사항

최상위 오브젝트를 식별하려면 태그를 해당 선언 전에 주석에 포함해야 합니다. 추출 스크립트는 이러한 태그를 생성합니다.

태그는 다음 형식을 따라야 합니다.

<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입니다.

설정 재설정: 설정 재설정 옵션은 모든 페이지에 표시됩니다. 변경한 경우 SnowConvert AI를 원래 기본 설정으로 재설정할 수 있습니다.