SnowConvert AI - Configurações de conversão Oracle¶
Configurações gerais de conversão¶
Conversão de objetos¶
.png)
Transform Synonyms: Sinalizador para indicar se os sinônimos devem ou não ser transformados. Por padrão, ele é definido como true.
Transform Packages to new Schemas: Sinalizador para indicar se os pacotes devem ou não ser transformados em novos esquemas.
Verifique a nomenclatura do procedimento de ativação e desativação do sinalizador:
Entrada
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;
Padrão de saída
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;
$$;
Saída com parâmetro 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;
$$;
Transform Date as Timestamp:
Sinalizador para indicar se SYSDATE deve ser transformado em CURRENT_DATE ou CURRENT_TIMESTAMP. Isso também afetará todas as colunas DATE que serão transformadas em TIMESTAMP.
Entrada
CREATE TABLE DATE_TABLE(
DATE_COL DATE
);
SELECT SYSDATE FROM DUAL;
Padrão de saída
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;
Saída com parâmetro 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;
Transform OUTER JOINS to ANSI Syntax: Sinalizador para indicar se junções externas devem ser transformadas apenas para a sintaxe ANSI.
Tipos de conversão de dados: você pode carregar um arquivo JSONabaixo para definir tipos de dados específicos considerando a origem do tipo de dados e o nome da coluna.
Guia de resultados gerais¶

Objetos de comentário com dependências ausentes: este sinalizador indica se o usuário deseja comentar os nós com dependências ausentes.
Definir a codificação dos arquivos de entrada: verifique as Configurações gerais de conversão para obter mais detalhes.
Nota
Para revisar as configurações que se aplicam a todas as linguagens compatíveis, acesse o seguinte artigo SnowConvert AI - Configurações gerais de conversão.
Configurações de nomes de objetos DB¶
.png)
Schema: O valor da cadeia de caracteres especifica o nome do esquema personalizado a ser aplicado. Se não for especificado, será usado o nome original do banco de dados. Exemplo: DB1.myCustomSchema.Table1.
Database: O valor da cadeia de caracteres especifica o nome do banco de dados personalizado a ser aplicado. Exemplo: MyCustomDB.PUBLIC.Table1.
Default: Nenhuma das configurações acima será usada nos nomes dos objetos.
Preparar configurações de código¶
.png)
Descrição¶
Preparar meu código: sinalizador para indicar se o código de entrada deve ser processado antes da análise e da transformação. Isso pode ser útil para melhorar o processo de análise. Por padrão, ele é definido como FALSE.
Divide os objetos de nível superior do código de entrada em vários arquivos. As pastas seriam organizadas da seguinte forma:
Cópia
└───A new folder named ''[input_folder_name]_Processed''
└───Top-level object type
└───Schema name
Exemplo¶
Entrada¶
├───in
│ DDL_Packages.sql
│ DDL_Procedures.sql
│ DDL_Tables.sql
Saída¶
Assuma que o nome dos arquivos corresponde ao nome dos objetos de nível superior nos arquivos de entrada.
├───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
Dentro da pasta “nome do esquema”, deve haver tantos arquivos quantos objetos de nível superior no código de entrada. Além disso, é possível ter cópias de alguns arquivos quando vários objetos de nível superior do mesmo tipo têm o mesmo nome. Nesse caso, os nomes dos arquivos serão enumerados em ordem crescente.

Requisitos ¶
Para identificar objetos de nível superior, uma tag deve ser incluída em um comentário antes de sua declaração. Nosso script Extração gera essas tags.
A tag deve seguir o seguinte formato:
<sc-top_level_object_type>top_level_object_name</sc-top_level_object_type>
Você pode seguir o próximo exemplo:
/* <sc-table> MY_SCHEMA.MY_TABLE</sc-table> */
CREATE TABLE "MY_SCHEMA"."MY_TABLE" (
"MY_COLUMN" VARCHAR2(128)
) ;
Configurações de taxa de conversão¶
.png)
Nessa página, você pode escolher se a porcentagem de código convertido com êxito é calculada usando linhas de código ou usando o número total de caracteres. A taxa de conversão de caracteres é a opção padrão. Você pode ler toda a documentação sobre a taxa na página de documentação.
Configurações de linguagens de destino de procedimentos armazenados¶
.png)
Nessa página, você pode escolher se os procedimentos armazenados serão migrados para JavaScript incorporados no Snow SQL ou para o Snowflake Scripting. A opção padrão é Snowflake Scripting.
Redefinir configurações: a opção de redefinição de configurações aparece em todas as páginas. Se você tiver feito alterações, será possível redefinir SnowConvert AI às suas configurações padrão originais.