SnowConvert AI - Oracle Conversion Settings¶
Allgemeine Konvertierungseinstellungen¶
Object Conversion¶
Transform Synonyms: Flag, das angibt, ob Synonyme transformiert werden sollen. Standardmäßig ist es auf true festgelegt.
Transform Packages to new Schemas: Flag, das angibt, ob die Pakete in neue Schemas transformiert werden sollen.
Bitte überprüfen Sie die Benennung der Prozedur zum Aktivieren und Deaktivieren des Flags:
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;
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;
$$;
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;
$$;
Transform Date as Timestamp:
Kennzeichen, das angibt, ob SYSDATE
in CURRENT_DATE
oder CURRENT_TIMESTAMP
umgewandelt werden soll. Dies betrifft auch alle Spalten DATE
, die in TIMESTAMP
umgewandelt werden.
Input
CREATE TABLE DATE_TABLE(
DATE_COL DATE
);
SELECT SYSDATE FROM DUAL;
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;
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;
Transform OUTER JOINS to ANSI Syntax: Flag, das angibt, ob Outer Joins nur in die ANSI-Syntax transformiert werden sollen.
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¶
Comment objects with missing dependencies: This flag indicates whether the user wants to comment on nodes with missing dependencies.
Set encoding of the input files: Check General Conversion Settings for more details.
Bemerkung
Die Einstellungen, die für alle unterstützten Sprachen gelten, finden Sie in dem folgenden Artikel.
DB Objects Names Settings¶
Schema: Der Zeichenfolgenwert gibt den benutzerdefinierten Schemanamen an, der angewendet werden soll. Wenn er nicht angegeben ist, wird der ursprüngliche Datenbankname verwendet. Beispiel: DB1.myCustomSchema.Table1.
Database: Der Zeichenfolgenwert gibt den Namen benutzerdefinierten Datenbanknamen an, die angewendet werden soll. Beispiel: MyCustomDB.PUBLIC.Table1.
Default: Keine der oben genannten Einstellungen wird in den Objektnamen verwendet.
Prepare Code Settings¶
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
Example¶
Input¶
├───in
│ DDL_Packages.sql
│ DDL_Procedures.sql
│ DDL_Tables.sql
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
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>
You can follow the next example:
/* <sc-table> MY_SCHEMA.MY_TABLE</sc-table> */
CREATE TABLE "MY_SCHEMA"."MY_TABLE" (
"MY_COLUMN" VARCHAR2(128)
) ;
Conversion Rate Settings¶
Auf dieser Seite können Sie wählen, ob der Prozentsatz des erfolgreich konvertierten Codes anhand der Codezeilen oder anhand der Gesamtzahl der Zeichen berechnet werden soll. Character Conversion Rate ist die Standardoption. Sie können die gesamte Dokumentation der Konvertierungsraten auf der Dokumentationsseite einsehen.
Stored Procedures Target Languages Settings¶
Auf dieser Seite können Sie wählen, ob gespeicherte Prozeduren nach in Snowflake SQL eingebettetes JavaScript oder nach Snowflake Scripting migriert werden sollen. Die Standardoption ist 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.