SnowConvert AI - Oracle Issues¶
SSC-EWI-OR0001¶
Sequence start value with 'LIMIT VALUE' is not supported by Snowflake.
描述¶
This error appears when the START WITH statement value is LIMIT VALUE.
In Oracle this clause is used only in ALTER TABLE
STARTWITHLIMIT VALUE, which is specific toidentity_options, can only be used withALTERTABLEMODIFY. If you specifySTARTWITHLIMIT VALUE, then Oracle Database locks the table and finds the maximum identity column value in the table (for increasing sequences) or the minimum identity column value (for decreasing sequences) and assigns the value as the sequence generator's high water mark. The next value returned by the sequence generator will be the high water mark +INCREMENTBYintegerfor increasing sequences, or the high water mark -INCREMENTBYintegerfor decreasing sequences.
ALTER TABLE ORACLE (https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/ALTER-TABLE.html#GUID-552E7373-BF93-477D-9DA3-B2C9386F2877)¶
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0002¶
Columns from expression not found
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
高
描述¶
This error happens when the columns of a Select Expression were unable to be resolved, usually when it either refers to a Type Access whose reference wasn't resolved or a column with a User Defined Type whose columns haven't been defined; such as a Type Without Body or Object Type with no columns.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Verify that the type definition that was referenced does have columns within it.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0004¶
The used syntax in select is not supported in Snowflake.
备注
Some parts of the output code are omitted for clarity reasons.
严重性¶
高
描述¶
This warning happens when a clause in a select is not supported in Snowflake. The not supported clauses are:
CONTAINERS
HIERARCHIES
EXTERNAL MODIFY
SHARDS
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0005¶
BFILE/BLOB parameters are considered binary. A format may be needed.
备注
This EWI is deprecated, please refer to SSC-FDM-OR0043 documentation.
严重性¶
低
描述¶
This error happens when a TO_CLOB is converted to a TO_VARCHAR function. A format may be needed for BFILE/BLOB parameters.
示例代码¶
Input Code: ¶
Generated Code:¶
Best Practices¶
Check if outputs in the input code and converted code are equivalent and add a format parameter if needed.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0006¶
It may be needed to set a TimeStampOutput format.
备注
This EWI is deprecated, please refer to SSC-FDM-OR0047 documentation.
严重性¶
低
描述¶
TIMESTAMP_OUTPUT_FORMAT session parameter may need to be set to 'DD-MON-YY HH24.MI.SS.FF AM TZH:TZM' for timestamp output equivalence.
示例代码¶
Input Code: ¶
Oracle 中的默认 TIMESTAMP 输出示例¶
Output
13-JAN-21 04.18.37.288656 PM +00:00
Generated Code:¶
Snowflake 中的默认 TIMESTAMP 输出示例¶
Output
2021-01-13 08:18:19.720 -080
Best Practices¶
To change the timestamp output format in Snowflake use the following query:
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'DD-MON-YY HH24.MI.SS.FF AM TZH:TZM';If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0007¶
Create Type Not Supported in Snowflake
备注
Deprecation: This Oracle-specific issue is deprecated in favor of SSC-EWI-0095 (general) and updated CREATE TYPE handling. The Example Code below is unchanged for historical accuracy. Unsupported CREATE TYPE shapes may now surface under SSC-EWI-OR0139, SSC-EWI-OR0140, SSC-EWI-OR0141, or SSC-EWI-OR0142 as applicable.
描述¶
This message is added when a Create Type statement not supported by Snowflake is used.
示例代码¶
输入代码 (Oracle):¶
Generated Code:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0008¶
Unknown format, it may have unexpected behavior.
严重性¶
低
描述¶
This error is added for unknown date formats that may have unexpected behavior.
示例代码¶
输入代码:¶
Generated Code:¶
备注
Note that 'iw-iyyy'' is not a supported format.
Best Practices¶
Check for this documentation for the supported timestamp formats.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0009¶
JSON_TABLE is not supported.
严重性¶
高
描述¶
JSON_TABLE function is not currently supported.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
You can take advantage of the FLATTEN function in Snowflake to emulate the functionality of JSON_TABLE.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0010¶
Partitions Clauses are Handled by Snowflake. It requires manual fix
备注
Some parts of the output code are omitted for clarity reasons.
严重性¶
关键
描述¶
This warning appears when the PARTITION and SUBPARTITION clauses appear within a query. Snowflake handle partitions automatically
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Manual change is required to get equivalent functionality in Snowflake. A
WHEREcondition is needed to filter the rows for the specific partition. However, with this workaround, performance is affected.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0011¶
The format parameter is not supported.
严重性¶
中
描述¶
The format parameter is not currently supported by Snowflake for Cast functions in especial cases. For example, when we use "MONTH" or "DAY" inside the DATE or TIMESTAMP format.
Other scenario is when you are working with CAST function using NUMBER currently Snowflake need to have 4 arguments to show the decimal part, for now the output code not offer all arguments needed for Snowflake, you need to add the rest arguments for TO_NUMBER function.
示例代码¶
输入代码:¶
Generated Code:¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0013¶
NLS parameter is not supported.
严重性¶
中
描述¶
NLS parameter is not currently supported for the following functions:
TOCHAR
TODATE
TONUMBER
TOTIMESTAMP
CAST
示例代码¶
输入代码:¶
Generated Code:¶
SSC-EWI-OR0014¶
NLSSORT not supported.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
中
描述¶
NLSSORT function is not currently supported in the body of a select.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
NLSSORT is converted to a user-defined function (UDF/Stub), so you can modify it to emulate the functionality.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0016¶
XML is not supported.
严重性¶
中
描述¶
The following XML related functions are not supported:
EXTRACT
EXTRACTVALUE
XMLSEQUENCE
XMLTYPE
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0020¶
Negative values not supported for function.
严重性¶
中
描述¶
Snowflake does not support negative values for the function, then this will cause different behavior when executed. This EWI is emitted when a function like INSTR uses a negative position parameter that cannot be automatically translated.
备注
INSTR with position = -1 is automatically translated to a functionally equivalent Snowflake expression and does not trigger this EWI. Only positions less than -1 (e.g., -3, -5) emit this warning.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Create a User Defined Function that can handle the negative parameter or look for another alternative.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0023¶
AGGREGATE function not supported.
严重性¶
高
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This error is added when an aggregate function as
DENSE_RANK()
RANK()
PERCENT_RANK()
CUME_DIST()
在 Snowflake 中不受支持。
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0026¶
ROWID is not supported.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
中
描述¶
ROWID statement is not currently supported.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0029¶
DEFAULT ON CONVERSION ERROR is not supported.
描述¶
Default on conversion error not supported in Snowflake
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
You might create UDF to emulate the behavior of
DEFAULTvalueON CONVERSION ERROR.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0030¶
KEEP statement used in the aggregate function is not supported
严重性¶
中
描述¶
This error appears to advertise that the KEEP statement used to indicate that only the first or last values of the aggregate function will be returned is not supported
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0031¶
SYS_CONTEXT parameter is not supported.
严重性¶
低
描述¶
This error happens when a SYS_CONTEXT function parameter is not supported. Snowflake support similar context functions, check the page to more information
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
The function is converted to a user defined function(stub), so you can modify it to emulate the behavior of the SYS_CONTEXT parameter.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0032¶
Parameter with the specified format is not supported.
严重性¶
中
描述¶
This error happens when a parameter in a function is not supported.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
The function is converted to a user defined function(stub), so you can modify it to emulate the behavior of the parameter.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0033¶
PL/SQL declaration in WITH is not supported.
严重性¶
中
描述¶
PL/SQL declarations in WITH statements are not supported.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0035¶
The table function is not supported when it is used as a collection of expressions.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
中
描述¶
TABLE function is not supported in Snowflake when it is used as a collection of expressions.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0036¶
Types resolution issues, the arithmetic operation may not behave correctly between string and date.
严重性¶
低
描述¶
This issue happens when an arithmetic operation may not behave correctly between two certain data types.
示例代码¶
输入代码:¶
Generated Code:¶
备注
Note that the operation between a String and Date may not behave correctly.
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0038¶
Search clause removed from the with element statement.
严重性¶
低
描述¶
The search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142) is employed to define the order in which rows are processed in a SELECT statement. This functionality allows for a customized traversal of the data, ensuring that the results are returned in a specific sequence based on the specified criteria. It is important to note, however, that this behavior, characterized by the search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142), is not supported in Snowflake.
In databases such as Oracle, the search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142) is commonly used in conjunction with recursive queries or common table expressions (CTEs) to influence the sequence in which hierarchical data is explored. By designating a particular column or set of columns in the search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142), you can control the depth-first or breadth-first traversal of the hierarchy, impacting the order in which rows are processed.
In Snowflake, search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142) message will be generated, and the search_clause (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__I2077142) is subsequently eliminated.
示例代码¶
输入代码:¶
Generated Code:¶
建议¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0039¶
The nocycle clause is not supported in Snowflake.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
低
描述¶
This message is shown when SnowConvert AI finds a query with a NOCYCLE clause, which is not supported in Snowflake.
This clause marks when there is a recursion.
For more details see the documentation (https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/SELECT.html#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6__GUID-8EE64250-3C9A-40C7-A81D-46695F8B2EB9) about the clause functionality.
示例代码¶
Connect By¶
输入代码:¶
Generated Code:¶
Best Practices¶
If there are cycles in the data hierarchy, you can review this article to deal with them.
If you need more support, you can email us at snowconvert-support@snowflake.com.
Please review the following link for manual workaround: https://community.snowflake.com/s/article/NOCYCLE-workaround (https://community.snowflake.com/s/article/NOCYCLE-workaround)
SSC-EWI-OR0042¶
Model clause is not supported.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
低
描述¶
This message is shown when SnowConvert AI finds a query with a MODEL clause, which is not supported in Snowflake.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0045¶
Cast type L and FML is not supported
严重性¶
中
描述¶
This issue happens when trying to cast using FML or L format that is not applicable in Snowflake, then the code is commented out and this message is being added.
示例代码:¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0046¶
Alter Table syntax is not applicable in Snowflake.
备注
This EWI is deprecated, please refer to SSC-EWI-0109 documentation
严重性¶
中
描述¶
The Alter Table syntax used is not applicable in Snowflake, then the code is commented out and this message is being added.
示例代码:¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0047¶
TO_NCHAR transformed to TO_VARCHAR, it may not be compilable in Snowflake.
严重性¶
低
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This warning is added when the function TO_NCHAR was found and it was transformed into a TO_VARCHAR function.
There are multiple cases where the transformation causes a compilation error, or the output is not the same.
示例代码¶
输入代码:¶
Generated Code:¶
The example from above will result in an error if it is used in Snowflake.
Not all cases are causing errors.
输入代码:¶
Generated Code:¶
The last example does not cause an error in Snowflake, and the output is equivalent if executed.
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0049¶
Package constants in stateful package are not supported yet.
严重性¶
关键
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This warning is added when there is a member of a Stateful Package that is not supported yet.
This feature is planned to be delivered in the future.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0050¶
Input Expression is out of the range
严重性¶
中
描述¶
This issue happens when trying to cast an input value that is out of range. It means the precision values are not applicable in Snowflake, then the code is commented out and this message is being added.
示例代码:¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0051¶
PRAGMA EXCEPTION_INIT is not supported.
严重性¶
低
描述¶
This EWI is added when PRAGMA EXCEPTION_INIT function is invoked within a procedure. Exception Name and SQL Code of the exceptions are set in the RAISE function. When it is converted to Snowflake Scripting, the SQL Code is added to the Exception declaration, however, some code values may be invalid in Snowflake Scripting.
Example Code ¶
输入代码:¶
Generated Code:¶
Snowflake 脚本¶
Best Practices¶
No end-user action is required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0052¶
Exception declaration is handled by the raise function.
严重性¶
低
备注
Some parts of the output code are omitted for clarity reasons.
备注
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
描述¶
Exceptions can be defined in both languages, Oracle and Snowflake, but the RAISE function is designed to do declaration, assignment, and throw the error. This is why the Exception declaration is commented out and the warning is displayed.
示例代码¶
输入代码:¶
Generated Code:¶
备注
Some parts of the output code are omitted to improve readability.
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0053¶
Incorrect input format
严重性¶
中
描述¶
This issue happens when trying to cast using a wrong input format, then the code is commented out and this message is being added.
示例代码:¶
输入代码:¶
Generated Code:¶
Best Practices¶
No additional user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0057¶
Transformation for nested procedure or function is not supported in this scenario.
严重性¶
关键
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
Translation of nested functions inside other functions or procedures is not supported. Similarly, procedures nested within functions or anonymous blocks are not currently supported.
However, nested procedures within other procedures or packages are supported. For additional details, see the Nested Procedures Documentation.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0067¶
Multiple constraint definition in a single statement is not supported in Snowflake.
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
Multiple Constraint Definition in a single ALTER TABLE statement is not supported in Snowflake.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0068¶
The sequence start value exceeds the max value allowed by Snowflake.
严重性¶
中
描述¶
This error appears when the START WITH statement value exceeds the maximum value allowed by Snowflake. What Snowflake said about the start value is: Specifies the first value returned by the sequence. Supported values are any value that can be represented by a 64-bit two’s complement integer (from -2^63 to 2^63-1). So according to the previously mentioned, the max value allowed is 9223372036854775807 for positive numbers and 9223372036854775808 for negative numbers.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
It can be recommended to just reset the sequence and modify its usage too. NOTE: the target column must have enough space to hold this value.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0069¶
The sequence CURRVAL property is not supported in Snowflake.
严重性¶
中
描述¶
The sequence CURRVAL property is not supported in Snowflake.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
You can check this link to see what Snowflake suggests to handle situations where the CURRVAL property is used.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0070¶
Binary Operation Not Supported
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
A binary operation is not currently supported, a user-defined function is added.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0071¶
Set Quantifier Not Supported
严重性¶
低
描述¶
Quantifier 'all' is not supported in Snowflake. The modifier is removed from the source code, and a warning is added; the resulting code may behave unexpectedly.
示例代码¶
输入代码:¶
Generated Code:¶
In Snowflake, the INTERSECT and MINUS/EXCEPT operators will always remove duplicate values.
Best Practices¶
Check alternatives in Snowflake to emulate the functionality of the "all" quantifier. Below is a workaround for
MINUS ALLandEXCEPT ALL.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0072¶
Procedural Member not supported
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
备注
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
描述¶
A procedural member is not currently supported. Example of procedural members:
Constant declarations.
Cursor declarations.
Pragma declarations.
Variable declarations.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0075¶
Labels in statements not supported
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
备注
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
描述¶
Labels in statements not supported to reference a code block.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0076¶
Built In Package Not Supported.
严重性¶
中
描述¶
Translation for built-in packages is not currently supported.
示例代码¶
输入代码 (Oracle):¶
Generated Code:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0078¶
Unable to parse dynamic SQL statement inside Execute Immediate.
严重性¶
中
描述¶
SnowConvert AI could not parse the dynamic SQL statement inside the Execute Immediate.
备注
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
Check the dynamic SQL statement for any syntax error.
Review the SnowConvert AI documentation to see if the statement is still unsupported.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0082¶
Cannot Convert Nested Type Attribute Expression
备注
Some parts of the output code are omitted for clarity reasons.
严重性¶
中
描述¶
This error message appears when a query, like a select, tries to access an attribute within a column that was defined as a type. These cannot be automatically converted, but they can be quickly converted by hand.
示例代码:¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
The code can be manually fixed by changing the '.' accessor for the ':' wherever a type column is being accessed.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0087¶
Ordering of the Outer Joins failed
严重性¶
低
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This issue happens when an error occurred while reordering the new ANSI JOIN clauses in a query that previously had outer joins with the (+) operator. A query with a cycle of tables joining each other in the WHERE clause can provoke this issue.
When this EWI is present, the JOIN clauses may not work properly due to their order.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Make sure the query is valid and does not have tables that are being joined to each other.
If the issue still occurs, try qualifying the name of each column in the WHERE clause with the name of the table.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0089¶
REGEXP_LIKE_UDF match parameter may not behave correctly
备注
This EWI is deprecated, please refer to SSC-FDM-OR0044 documentation.
严重性¶
低
描述¶
This warning appears when the Oracle REGEXP_LIKEcondition comes with the third parameter (match parameter). The reason to add the warning is that the REGEXP_LIKE_UDFused to replace the REGEXP_LIKEdoes not recognize all the characters used by the match parameter, so the result of the query in Snowflake may not be equivalent to Oracle.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
When the
REGEXP_LIKEcondition includes characters that are not supported by the user-defined function, you can change the regular expression to simulate the behavior of the missing character in the match parameter. For more information about unsupported characters, see REGEXP_LIKE_UDF.For additional support, contact Snowflake at snowconvert-support@snowflake.com.
SSC-EWI-OR0090¶
Non-Ansi Outer Join has an invalid Between predicate
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This issue happens when there is an OUTER JOIN with the (+) operator inside a BETWEEN clause that cannot be executed in Snowflake. This generally happens when multiple tables are used in the interval of the BETWEEN clause.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
Manually change the Outer Join to ANSI syntax.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0092¶
NUMBER datatype negative scale was removed from output
严重性¶
低
描述¶
This issue happens when a NUMBER with a negative scale is being used to apply rounding to the NUMBER. Snowflake does not support this feature, and this message is used to indicate that the Scale was removed.
示例代码¶
Oracle 输入代码:¶
Queries¶
Result¶
Generated Code:¶
Queries¶
Result¶
Best Practices¶
No end-user action is required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0095¶
Operation Between Interval Type and Date Type not Supported
严重性¶
低
描述¶
INTERVAL YEAR TO MONTH and INTERVAL DAY TO SECOND are not a supported data type, they are transformed to VARCHAR(20). Therefore all arithmetic operations between Date Types and the original Interval Type Columns are not supported.
Furthermore, operations between an Interval Type and Date Type (in this order) are not supported in Snowflake; and these operations use this EWI as well.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Implement the UDF to simulate the Oracle behavior.
Extract the already transformed value that was stored in the column during migration, and use it as a Snowflake Interval Constant when possible.
If you need more support, you can email us at snowconvert-support@snowflake.com
¶
SSC-EWI-OR0097¶
Procedure Properties are Not Supported in Snowflake Procedures
严重性¶
低
描述¶
Oracle CREATE PROCEDURE additional properties are not required and have no equivalent by Snowflake CREATE PROCEDURE.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
No end-user action is required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0099¶
The exception code exceeds the Snowflake Scripting limit
严重性¶
低
描述¶
This EWI appears when an exception declaration error code exceeds the Snowflake Scripting exception number limits. The number must be an integer between -20000 and -20999.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Check if the exception code is between the limits allowed by Snowflake Scripting, if not change it for another exception number available.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0100¶
For Loop With Multiple Conditions Is Currently Not Supported By Snowflake Scripting. Only First Condition Is Used
严重性¶
低
描述¶
Oracle allows multiple conditions in a single FOR LOOP however, Snowflake Scripting only allows one condition per FOR LOOP. Only the first condition is migrated and the others are ignored during transformation.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Separate the
FOR LOOPinto different loops or rewrite the condition.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0101¶
Specific For Loop Clause Is Currently Not Supported By Snowflake Scripting
严重性¶
低
描述¶
Oracle allows additional clauses to the FOR LOOP condition. Like the BY, WHILE, and WHEN clauses. Both WHILE and WHEN clauses allow for an extra boolean expression as a condition. While the BY clause allows a stepped increment in the iteration. These additional clauses are not supported in Snowflake Scripting and are ignored during transformation.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
Separate the
FOR LOOPinto different loops or rewrite the condition.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0103¶
For Loop Format Is Currently Not Supported By Snowflake Scripting
严重性¶
高
描述¶
Oracle allows different types of conditions for a FOR LOOP. It supports boolean expressions, collections, records... However, Snowflake scripting only supports FOR LOOP with defined integers as bounds. All other formats are marked as not supported and require additional manual effort to be transformed.
Oracle iteration control clauses (https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/iterator.html#GUID-BD211E6F-8B4A-494A-AECF-AC26A241FF98) that are not supported in Snowflake FOR LOOP:
single_expression_controlvalues_of_controlindices_of_controlpairs_of_control
危险
cursor_iteration_control is currently marked as not supported. Removing parenthesis from the expression should transform it as a CURSOR FOR LOOP.
Original:
FOR i IN (cursor_variable) LOOP NULL; END LOOP;
应改为:
FOR i IN cursor_variable LOOP NULL; END LOOP;
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
Rewrite the
FOR LOOPcondition or use a different kind ofLOOPto simulate the behavior.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0104¶
Unusable collection variable
严重性¶
高
描述¶
Oracle collections are not currently supported by SnowConvert AI, all the collection types variables and their usages will be commented out.
备注
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
示例代码¶
Oracle 输入代码:¶
输出代码¶
Best Practices¶
No end-user action is required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0105¶
Additional work is needed for BFILE column usage. BUILD_STAGE_URL function is a recommended workaround
严重性¶
低
描述¶
The transformation for BFILE datatype is VARCHAR. However, the translation for the Oracle built-in functions used to interact with BFILE types is currently not supported. The column is migrated to a VARCHAR to store the file path and name. For more information, see the BFILENAME_UDF documentation.
备注
The BUILD_STAGE_FILE_URL function is a recommended workaround to work with files in Snowflake. It returns a link to the specified file stored in a stage. See the BUILD_STAGE_FILE_URL function documentation.
示例代码¶
Oracle 输入代码:¶
Generated Code:¶
Best Practices¶
Use the
BUILD_STAGE_FILE_URLand the other file functions to handle files.
Snowflake Query¶
Result¶
备注
This function works with different cloud storage options, but for information regarding using local files with stages, check this documentation.
Change the data type to a supported type.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0108¶
The Following Assignment Statement is Not Supported by Snowflake Scripting
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
中
描述¶
Some Oracle variable types do not have a direct translation in Snowflake. Currently, transformation for cursor, collection, record, and user-defined type variables; as well as placeholders, objects, and output parameters are not supported by Snow Scripting.
Changing these variables to Snowflake semi-structured data types could help as a workaround in some scenarios.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Change the variable data type or try to simulate the behavior using Snowflake semi-structured data types.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0109¶
Expressions as arguments of Using Clause are not supported by Snowflake Scripting
严重性¶
中
描述¶
Oracle supports using expressions as arguments to any USING Clause for the EXECUTE IMMEDIATE statements. This functionality is not supported by Snowflake Scripting.
Snowflake Scripting does support variable expressions, and this it is possible to replace the expression by manually assigning it to a variable (see example below).
示例代码¶
输入代码:¶
Generated Code:¶
手动迁移的 Execute Immediate 过程:¶
Replacing this procedure with the one above will solve the compilation error, and yield the same results as Oracle.
Best Practices¶
Procedures can be manually migrated by adding a variable and then assigning the expression to said variable.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0110¶
For Update Clause is not supported in Snowflake
备注
Some parts in the output code are omitted for clarity reasons.
严重性 ¶
高
描述 ¶
There is no equivalent for FOR UPDATE clause in Snow Scripting so an EWI is added and the clause is commented out
示例代码 ¶
输入代码:¶
Generated Code:¶
Best Practices¶
Handle the column update in the
UPDATE/DELETEquery for more details check SSC-EWI-OR0136.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0116¶
Operations between Intervals are not supported
严重性¶
中
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This error is added when there is an arithmetical operation whose operands are only intervals, this kind of operation is not supported by Snowflake.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Depending on where the operation is located, it could be relocated and made valid by adding dates or timestamps.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0118¶
Built-In Views/Tables are not supported by Snowflake
严重性¶
中
描述¶
Oracle has a set of built-in views and tables (https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/static-data-dictionary-views-1.html#GUID-41B62782-83FA-4066-8C56-0D0B66CC0EC7), that are not present in Snowflake, SnowConvert AI adds an error message to queries and statements that use these elements.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Some information provided by Oracle Built-In views, can be found in Snowflake Information Schema or using SHOW command.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0121¶
Using DBMS_LOB.SUBSTR built-in package with a BFILE column is not supported in Snowflake
严重性¶
中
描述¶
Oracle BFILE columns are migrated to VARCHAR in Snowflake. The file name is stored as a string in the new column. Therefore, using a SUBSTR function, in Snowflake, on the migrated column will return a substring of the file name. While Oracle DBMS_LOB.SUBSTR will return a substring of the file content. For more information review BFILE data type.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
To handle files with Snowflake, see the UTL_FILE handling documentation.
For additional support, contact SnowConvert at snowconvert-support@snowflake.com.
SSC-EWI-OR0123¶
Database Link connections not supported
严重性¶
中
描述¶
A database link connection reference was removed from the object name because the database links and its references are not supported in Snowflake. The only part that is kept is the name before the @ character.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
It is important to check that all DB Links have different names, if two DB Links share the same and the code is migrated multiple times, then the EWI can change de information based on what DB Link is processed first.
Move the database objects from the database link reference into the same database instance that is being used in Snowflake.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0126¶
Unusable object because its built-in custom type is not supported
严重性¶
中
描述¶
This error appears to indicate whether an object with a built-in custom type is being used.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
No end-user actions are required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0128¶
Boolean cursor attribute is not supported.
备注
Some parts in the output code are omitted for clarity reasons.
严重性¶
低
描述¶
This message is used to indicate that a boolean cursor attribute is not supported in SnowScript or that there is no transformation that emulates its functionality in SnowScript. The following table shows the boolean cursor attributes that can be emulated:
Boolean Cursor Attribute |
Status |
|---|---|
|
Can be emulated |
|
Can be emulated |
|
Not Supported |
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0129¶
TYPE attribute could not be resolved.
严重性¶
低
备注
Some parts of the output code are omitted for clarity reasons.
描述¶
This warning appears when the TYPEattribute referenced item could not be resolved and the referencing item's data type could not be obtained. So the VARIANTdata type will be assigned instead.
示例代码¶
输入代码:¶
Generated Code:¶
Best Practices¶
Check for the referenced item data type and replace it manually in the referencing item TYPE attribute.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0133¶
Cursor variable has already been assigned
严重性¶
中
描述¶
When an OPEN FOR statement is converted, a cursor assignment with the same name as the cursor variable used in the input code is added along with other statements to emulate its functionality. Since it is possible to use multiple OPEN FOR statements with the same cursor variable, there will be multiple cursor assignments with the same name in the output code. Leaving the output code as it is will cause compilation errors when executed in Snowflake.
示例代码¶
输入代码¶
Generated Code¶
相关的 EWI¶
SSC-EWI-0030: The statement below has usages of dynamic SQL.
Best Practices¶
To solve the compilation errors of the output code the cursor assignments that have the SSC-EWI-OR0133 message should be renamed.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0135¶
Data Retention Period May Produce No Results
严重性¶
低
描述¶
If a query is executed in Snowflake using time travel, it could return no results if the specified time is no longer in the range of the data retention period. We recommend to read more about Snowflake's Time Travel.
示例代码¶
输入代码¶
Generated Code¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0136¶
Current of clause is not supported in Snowflake
严重性¶
关键
描述¶
Some statements like UPDATE and DELETE can use have a CURRENT OF clause inside the WHERE clause, this is not currently supported by Snowflake.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
相关的 EWI¶
SSC-EWI-OR0036: Types resolution issues, the arithmetic operation may not behave correctly between string and date.
SSC-PRF-0004: This statement has usages of cursor for loop.
SSC-EWI-OR0110: For Update Clause is not supported in Snowflake.
Best Practices¶
Redesign the query to normal
UPDATEorDELETEspecifying the columns in theWHEREclause, consider that if there are duplicate records in the table the query can affect them multiple times.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0137¶
Type attribute reference might be unsupported, so it was transformed to variant data type.
严重性¶
关键
描述¶
TYPE ATTRIBUTE 'TYPEUSED%TYPE' MIGHT BE UNSUPPORTED, SO IT WAS TRANSFORMED TO VARIANT
示例代码¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0138¶
STANDARD_HASH with dynamic algorithm parameter cannot be converted.
严重性¶
低
描述¶
This error is added when the STANDARD_HASH function uses a dynamic (non-literal) algorithm parameter, such as a variable or expression. SnowConvert AI cannot determine the target hash function at compile time because the algorithm must be a string literal ('SHA1', 'SHA256', 'SHA384', 'SHA512', or 'MD5').
The function is left unconverted and the user must manually resolve the algorithm at runtime.
示例代码¶
Oracle:¶
Snowflake Scripting:¶
相关的 EWI¶
SSC-FDM-OR0032: StandardHash function with input non-string parameter generates a different result in Snowflake.
Best Practices¶
Replace the dynamic algorithm parameter with a string literal (e.g.,
'SHA256') so SnowConvert AI can determine the correct Snowflake hash function.If the algorithm must be dynamic at runtime, manually convert the
STANDARD_HASHcall to aCASEexpression that maps each algorithm to the corresponding Snowflake function (SHA1,SHA2,MD5).If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0139¶
CREATE TYPE with incomplete definition is not supported
严重性¶
中
描述¶
This message is added when Oracle CREATE TYPE is used as a forward declaration (object type declared without a body). Snowflake does not support that incomplete form; supply a full type definition or migrate the type manually.
Best Practices¶
Replace forward declarations with a complete
CREATE TYPE ... AS OBJECT (...)(or equivalent) before conversion, or create the type manually in Snowflake.If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0140¶
CREATE TYPE with member methods or constructors is not supported
严重性¶
中
描述¶
This message is added when a CREATE TYPE definition includes MEMBER methods, MAP/ORDER methods, or constructor specifications that Snowflake native UDTs do not support in the same way as Oracle. The DDL may be partially emitted or flagged for manual review.
Best Practices¶
Move procedural logic to stored procedures or functions; keep
CREATE TYPEto attributes only where possible.Review Oracle CREATE TYPE translation reference for supported patterns.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0141¶
CREATE TYPE with subtype inheritance is not supported
严重性¶
中
描述¶
This message is added when CREATE TYPE uses Oracle UNDER (subtype inheritance). Snowflake does not model type inheritance the same way as Oracle.
Best Practices¶
Model hierarchies with separate object types and views, or flatten to a single object type; manual redesign is often required.
If you need more support, you can email us at snowconvert-support@snowflake.com
SSC-EWI-OR0142¶
CREATE TYPE definition is not supported
严重性¶
中
描述¶
This message is added when a CREATE TYPE definition cannot be translated to a supported Snowflake native user-defined type. The statement may be commented or flagged depending on context.
Best Practices¶
Simplify the type definition to supported Snowflake constructs, or implement the type manually.
If you need more support, you can email us at snowconvert-support@snowflake.com