SnowConvert AI – allgemeine Probleme¶
SSC-EWI-0001¶
Nicht erkanntes Token in der Zeile des Quellcodes.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Kritisch
Beschreibung¶
Dieses Problem tritt auf, wenn beim Parsen des zu konvertierenden Quellcodes ein Fehler auftritt. Dies bedeutet, dass ein Syntaxfehler im Quellcode vorliegt oder eine bestimmte Anweisung des Codes noch nicht erkannt wird.
Beispielcode¶
Das folgende Beispiel veranschaulicht verschiedene Fehlerszenarien beim Parsen, bei denen eine ungültige Syntax in der Eingabe platziert wird. Beachten Sie, wie sich die Meldung zwischen den einzelnen Szenarien unterscheidet. Diese Inhalte können hilfreich sein, um das Problem zu isolieren und zu beheben. Weitere Informationen finden Sie unten unter „Meldungsinhalte“.
Eingabecode: ¶
Generierter Code: ¶
Meldungsinhalte¶
Ausgangsklausel: Gibt den Ausgangsort (Zeile, Spalte und „Text“) des nicht erkannten Codes an. Der Code wird ab dem Element „text“ für jedes nicht erkannte Element kommentiert, bis der Parser einen möglichen Wiederherstellungspunkt findet.
Erwartete grammatikalische Klausel: Gibt den Typ der Grammatik an, den der Parser erwartete. Überprüfen Sie, ob der kommentierte Code einen übereinstimmenden Typ der erwarteten Grammatik enthält.
Klausel für letztes übereinstimmendes Token (OPTIONAL): Wird ggf. angezeigt, wenn der nicht erkannte Code teilweise erkannt wurde. Dies signalisiert den Punkt, bis der Parser gültige Elemente erkannt hat. Überprüfen Sie also die folgenden Token im kommentierten Code, um sicherzustellen, dass sie gültig sind.
Klausel für fehlgeschlagene Token (OPTIONAL): Kann nur vorhanden sein, wenn es auch eine „Klausel für letztes übereinstimmendes Token“ gibt. Dies stellt den Punkt dar, an dem der Parser endgültig festgestellt hat, dass der Code ungültig ist oder nicht erkannt wird. Stellen Sie sicher, dass dieses Element an dieser Stelle in der Syntax platziert werden kann.
Veraltete Meldungsinhalte¶
Bemerkung
Die Elemente in dieser Liste werden nicht aktiv verwendet. Sie befinden sich hier aus rein historischen Gründen.
Wiederherstellungscode (DEPRECATED): Dieser Code ist zur Verwendung als Fehlercode gedacht und kann zur besseren Unterstützung bei Parser-Upgrade-Anforderungen bereitgestellt werden. Er gibt an, wie der Parser seinen Wiederherstellungsmechanismus ausgelöst hat.
Best Practices¶
Überprüfen Sie, ob der Quellcode die korrekte Syntax hat.
Die Meldung kann verwendet werden, um das Problem zu isolieren und zu lösen.
Wenn die Syntax nicht unterstützt wird, kann sie manuell in eine unterstützte Syntax geändert werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0002¶
Standardparameter müssen möglicherweise neu angeordnet werden.
Bemerkung
This EWI is deprecated. SnowConvert AI now automatically reorders default parameters to the end of the parameter list instead of emitting this warning. Please refer to SSC-FDM-0041 for the updated behavior.
Schweregrad¶
Medium
Beschreibung¶
Standardparameter müssen möglicherweise neu angeordnet werden. Snowflake unterstützt nur Standardparameter am Ende der Parameterdeklaration.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0003¶
Die Systemspalte für das integrierte Objekt wurde nicht übersetzt.
Schweregrad ¶
Medium
Beschreibung ¶
Dieses EWI wird generiert, wenn SnowConvert AI ein integriertes Systemobjekt (Tabelle, Ansicht) dem entsprechenden Snowflake-Objekt zuordnet, es aber keine Zuordnung für eine seiner internen Spalten gibt.
Codebeispiel ¶
Eingabecode:
Ausgabecode:
Snowflake¶
SSC-EWI-0005¶
Schweregrad¶
Kritisch
Beschreibung¶
This issue appears when an unexpected transformation error occurs while trying to convert the source code and the output code file can not be generated.
Best Practices¶
Prüfen Sie die Fehlerprotokolldatei auf weitere Informationen zu dem Problem.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0006¶
Das aktuelle Datumsformat/numerische Format weist in Snowflake möglicherweise ein anderes Verhalten auf.
Schweregrad¶
Medium
Beschreibung¶
Dieser Fehler wurde hinzugefügt, weil Snowflake in einigen Funktionen keine Datumsformate/numerischen Formate unterstützt, wie sie in der Quellsprache unterstützt werden.
Bemerkung
For SQL Server migrations: Advanced numeric format specifiers (such as P, N, %) are now translated by default without requiring any flag. If you are converting SQL Server code that uses custom single-character date format specifiers (such as %y, %M, %d, %H, %h, %m, %s), consider enabling the
--enableFormatSpecifiersPreview preview flag. This flag enables access to new Snowflake date/time format specifiers that provide more accurate
translations of these formats. See Preview Features Settings for more details.
Note: You must request preview access in your Snowflake account to use the date/time preview features.
Die folgenden Formatelemente sind die Elemente, die sich in Snowflake möglicherweise anders verhalten:
Redshift-Datum/-Uhrzeit¶
| Format Element | Description |
|---|---|
| HH | Hour of day (01–12). |
| MS | Millisecond (000–999). |
| US | Microsecond (000000–999999). |
| SSSS, SSSSS | Seconds past midnight (0–86399). |
| Y,YYY | Year (4 or more digits) with comma. |
| YYY | Last 3 digits of year. |
| Y | Last digit of year. |
| IYYY | ISO 8601 week-numbering year(4 or more digits). |
| IYY | Last 3 digits of ISO 8601 week-numbering year. |
| IY | Last 2 digits of ISO 8601 week-numbering year. |
| I | Last digit of ISO 8601 week-numbering year. |
| BC, bc, AD or ad | Era indicator (without periods). |
| B.C., b.c., A.D. or a.d. | Era indicator (with periods). |
| MONTH | Full upper case month name (blank-padded to 9 chars). |
| Month | Full capitalized month name (blank-padded to 9 chars). |
| month | Full lower case month name (blank-padded to 9 chars). |
| DAY | Full upper case day name (blank-padded to 9 chars). |
| Day | Full capitalized day name (blank-padded to 9 chars). |
| day | Full lower case day name (blank-padded to 9 chars). |
| DDD | Day of year (001–366). |
| IDDD | Day of ISO 8601 week-numbering year (001–371; day 1 of the year is Monday of the first ISO week). |
| D | Day of the week, Sunday (1) to Saturday (7). |
| ID | ISO 8601 day of the week, Monday (1) to Sunday (7). |
| W | Week of month (1–5) (the first week starts on the first day of the month). |
| WW | Week number of year (1–53) (the first week starts on the first day of the year). |
| IW | Week number of ISO 8601 week-numbering year (01–53; the first Thursday of the year is in week 1). |
| CC | Century (2 digits) (the twenty-first century starts on 2001-01-01). |
| J | Julian Date. |
| Q | Quarter. |
| RM | Month in upper case Roman numerals (I–XII; I=January). |
| rm | Month in lower case Roman numerals (i–xii; i=January). |
| TZ | Upper case time-zone abbreviation (only supported in to_char). |
| tz | Lower case time-zone abbreviation (only supported in to_char). |
| TZH | Time-zone hours. |
| TZM | Time-zone minutes. |
| OF | Time-zone offset from UTC (only supported in to_char). |
| FM prefix | Fill mode (suppress leading zeroes and padding blanks). |
| TH suffix | Upper case ordinal number suffix. |
| th suffix | Lower case ordinal number suffix. |
| FX prefix | Fixed format global option (see usage notes). |
| TM prefix | Translation mode (use localized day and month names based on lc_time). |
| SP suffix | Spell mode. |
Bemerkung
Weitere Informationen dazu finden Sie unter PostgreSQL-Datums-/Uhrzeitformate.
Bemerkung
Die Transformation der TO_CHAR-Funktion unterstützt die meisten dieser Formatelemente. Eine vollständige Liste der unterstützten Formatelemente und ihrer entsprechenden Zuordnungen finden Sie in der Übersetzungsspezifikation.
BigQuery-Format ¶
Review the BigQuery format elements reference.
Numerisch ¶
Muster |
Beschreibung |
|---|---|
PR |
Negativer Wert in spitzen Klammern |
RN |
Römische Ziffer (Eingabe zwischen 1 und 3999) |
TH oder th |
Ordnungszahlsuffix |
V |
Verschieben einer bestimmten Anzahl von Ziffern (siehe Anmerkungen) |
EEEE |
Exponent für wissenschaftliche Notation |
Bemerkung
Weitere Informationen dazu finden Sie unter NumerischePostgreSQL-Formate.
Codebeispiel¶
Eingabecode:¶
PostgreSQL¶
Generierter Code:¶
Snowflake¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0007¶
Schweregrad¶
Kritisch
Beschreibung¶
This error appears when an error occurs in writing the output file.
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0008¶
COLLATE-Anweisung kann in Snowflake ein anderes Verhalten aufweisen
Schweregrad¶
Medium
Beschreibung¶
This warning is added when the collate clause is used as a column option because it is supported in Snowflake, but behaves differently in the collate specification. To verify which specifiers are supported in Snowflake, see Collate specifications.
Beispielcode¶
Eingabecode:¶
Generierter Code: ¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0009¶
Regexp_Substr Funktion unterstützt nur POSIX reguläre Ausdrücke.
Schweregrad¶
Niedrig
Beschreibung¶
Derzeit gibt es in Snowflake keine Unterstützung für erweiterte reguläre Ausdrücke über die POSIX-Basic-Regular-Expression-Syntax hinaus.
This EWI is added every time a function call to REGEX_SUBSTR, REGEX_REPLACE, or REGEX_INSTR is transformed to Snowflake to warn the user about possible unsupported regular expressions. Some of the features not supported are lookahead, lookbehind, and non-capturing groups.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Check the regular expression used in each case to determine whether it needs manual intervention. More information about expanded regex support and alternatives in Snowflake can be found here.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0010¶
Schweregrad¶
Kritisch
Beschreibung¶
Dieser Fehler tritt auf, wenn es keine Transformationsregel für eine bestimmte Prozeduranweisung gibt.
Best Practices¶
Überprüfen Sie, ob die Prozeduranweisung korrekt ist.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0011¶
Schweregrad¶
Hoch
Beschreibung¶
Dieser Fehler tritt auf, wenn die Anweisung im Quellcode unerwartet endet und der Fehler nicht korrekt verarbeitet werden kann.
Best Practices¶
Prüfen Sie, ob der Quellcode unvollständig ist oder ob die Anweisung, die konvertiert wird, korrekt endet.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0012¶
Schweregrad¶
Hoch
Beschreibung¶
Dieser Fehler tritt auf, wenn die Anweisung im Quellcode unerwartet endet.
Beispielcode¶
Eingabecode:¶
Generierter Code: ¶
Empfehlung¶
Prüfen Sie, ob der Quellcode unvollständig ist oder ob die Anweisung, die konvertiert wird, korrekt endet.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0013¶
Schweregrad¶
Kritisch
Beschreibung¶
Dieser Fehler tritt auf, wenn beim Konvertieren eines Elements aus dem Quellcode eine Ausnahme ausgelöst wird.
Empfehlung¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0014¶
Schweregrad¶
Kritisch
Beschreibung¶
Dieser Fehler tritt auf, wenn der Textteil (Body) einer bestimmten Prozeduranweisung nicht erstellt wird.
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0015¶
Mehrere Pivot/Unpivot-Funktionen werden nicht unterstützt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Medium
Beschreibung¶
In diesem Abschnitt werden die verschiedenen Probleme beschrieben, die durch PIVOT- und UNPIVOT-Klauseln ausgelöst werden können. Die nicht unterstützten Szenarien sind in der folgenden Tabelle aufgeführt.
PIVOT |
UNPIVOT |
ORACLE |
TERADATA |
|
|---|---|---|---|---|
MULTIPLE COLUMN |
X |
X |
X |
X |
RENAME COLUMN |
X |
X |
X |
X |
MULTIPLE FUNCTION |
X |
X |
X |
|
WITH CLAUSE |
X |
X |
||
XML OUTPUT FORMAT |
X |
X |
||
IN CLAUSE SUBQUERY |
X |
X |
X |
|
IN CLAUSE ANY SEQUENCE |
X |
X |
||
INCLUDE/EXCLUDE NULLS |
X |
X |
X |
MULTIPLE COLUMN¶
Mehrere Spalten werden von PIVOT- und UNPIVOT-Klauseln nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
RENAME COLUMN¶
Renaming columns with aliases is not supported in Snowflake UNPIVOT clauses. SnowConvert will remove aliases for functions or columns to create a valid query and check that this change does not affect the original functionality.
Für PIVOT wird die Verwendung von Spaltenaliassen nur in SnowConvert AI für Teradata unterstützt, wenn die folgenden beiden Bedingungen erfüllt sind: Alle Ausdrücke innerhalb der IN-Klauseln enthalten einen verknüpften Alias und SnowConvert AI verfügt über Informationen zu den Spalten, die als Ergebnis generiert werden, entweder durch Bereitstellung der Tabellendefinition oder durch Verwendung einer Unterabfrage mit einer expliziten Spaltenliste als Eingabe für die Klausel.
Beispielcode¶
Eingabecode:¶
CREATE TABLE star1(
country VARCHAR(20),
state VARCHAR(10),
yr INTEGER,
qtr VARCHAR(3),
sales INTEGER,
cogs INTEGER
);
--SAMPLE 1
SELECT * FROM db1.star1p UNPIVOT (column1 FOR for_column
IN (col1 AS 'as_col1', col2 AS 'as_col2')) Tmp;
--SAMPLE 2
SELECT *
FROM star1 PIVOT (
SUM(sales) as ss1 FOR qtr
IN ('Q1' AS Quarter1,
'Q2' AS Quarter2,
'Q3' AS Quarter3)
)Tmp;
--SAMPLE 3
SELECT
*
FROM (
SELECT
country,
state,
yr,
qtr,
sales,
cogs
FROM star1 ) A
PIVOT (
SUM(sales) as ss1 FOR qtr
IN ('Q1' AS Quarter1,
'Q2' AS Quarter2,
'Q3' AS Quarter3)
)Tmp;
Generierter Code:¶
MULTIPLE FUNCTION¶
Mehrere Funktionen werden für PIVOT-Klauseln nicht unterstützt. Manchmal können mehrere Funktionsabfragen mithilfe von CASE-Anweisungen neu geschrieben werden. Weitere Informationen dazu finden Sie im folgenden Teradata-Beispiel https://docs.teradata.com/r/756LNiPSFdY~4JcCCcR5Cw/L0kKSOrOeu_68mcW3o8ilw
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
WITH CLAUSE¶
Teradata PIVOT verfügt über eine optionale WITH-Klausel. Dies in Snowflakes PIVOT nicht zulässig.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
XML OUTPUT FORMAT¶
Die XML-Ausgabe für die PIVOT-Klausel wird von Snowflake nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
IN CLAUSE SUBQUERY¶
Unterabfragen für die IN-Klausel werden nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
IN CLAUSE ANY SEQUENCE¶
Dieser Fehler wird ausgelöst, wenn das Schlüsselwort ANY in der IN-Klausel verwendet wird. Dies wird derzeit nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
INCLUDE/EXCLUDE NULLS¶
INCLUDE NULLS oder EXCLUDE NULLS sind keine gültigen Optionen für UNPIVOT-Klauseln in Snowflake.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Schreiben Sie die Abfrage möglichst neu. Andernfalls sind keine zusätzlichen Benutzeraktionen erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0016¶
Snowflake unterstützt die OPTIONS-Klausel nicht.
Schweregrad ¶
Medium
Beschreibung ¶
Dieses EWI wird DDLs-Anweisungen hinzugefügt, wenn OPTIONS über Optionen verfügt, die von Snowflake nicht unterstützt werden.
Codebeispiel ¶
Eingabecode:
BigQuery¶
Ausgabecode:
Snowflake¶
SSC-EWI-0020¶
CUSTOM UDF INSERTED.
Schweregrad¶
Niedrig
Zusammenfassung¶
Es gibt mehrere benutzerdefinierte Funktionen (UDF), die von SnowConvert AI bereitgestellt werden und dazu verwendet werden, Verhaltensweisen in der Quellsprache zu reproduzieren, die von Snowflake nicht unterstützt werden. Ausführliche Informationen zu Funktionalität und Beschreibungen finden Sie unten.
UDFs finden Sie im Ordner „UDF Helpers“, der nach der Migration im Ausgabepfad erstellt wird.
Best Practices¶
Überprüfen Sie, ob der Ordner „UDF Helpers“ mit Dateien darin erstellt wurde.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0021¶
Nicht unterstützt.
Schweregrad¶
Medium
Beschreibung¶
Diese Meldung wird angezeigt, wenn ein bestimmter Knoten oder eine Anweisung aus dem Quellcode von Snowflake nicht unterstützt wird.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Wenn dieser Fehler auftritt, liegt es daran, dass es kein Snowflake-Äquivalent für den zu konvertierenden Knoten gibt.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0022¶
Ein oder mehrere Bezeichner in einer bestimmten Anweisung werden standardmäßig als Parameter betrachtet.
Warnung
Das EWI wird nur generiert, wenn Javascript die Zielsprache für gespeicherte Prozeduren ist. Dies ist ein veraltetes Feature für die Übersetzung, da Snowflake Scripting die empfohlene Zielsprache für gespeicherte Prozeduren ist.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Medium
Beschreibung¶
Dieser Fehler meldet, dass ein oder mehrere Bezeichner in einer bestimmten Anweisung standardmäßig als Parameter betrachtet werden.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Stellen Sie sicher, dass alle Abhängigkeiten (Tabellen und Ansichten), die mit der Prozeduranweisung verbunden sind, migriert werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0023¶
Überprüfung der Performance – Eine Schleife enthält eine Einfüge-, Lösch- oder Aktualisierungsanweisung.
Warnung
Das EWI wird nur generiert, wenn Javascript die Zielsprache für gespeicherte Prozeduren ist. Dies ist ein veraltetes Feature für die Übersetzung, da Snowflake Scripting die empfohlene Zielsprache für gespeicherte Prozeduren ist.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung weist auf einen möglichen Aspekt hin, den Benutzende hinsichtlich der Performance berücksichtigen sollten.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0025¶
Das Binden von Zeitvariablen kann eine Änderung in der Abfrage erfordern.
Warnung
Das EWI wird nur generiert, wenn Javascript die Zielsprache für gespeicherte Prozeduren ist. Dies ist ein veraltetes Feature für die Übersetzung, da Snowflake Scripting die empfohlene Zielsprache für gespeicherte Prozeduren ist.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Die Aktion zum Binden von Zeitvariablen erfordert möglicherweise Änderungen in der Abfrage, die diese Variablen enthält.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Es sind keine weiteren Aktionen des Benutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0026¶
Qualifizierte Variablen können eine Umwandlung erfordern.
Warnung
Das EWI wird nur generiert, wenn Javascript die Zielsprache für gespeicherte Prozeduren ist. Dies ist ein veraltetes Feature für die Übersetzung, da Snowflake Scripting die empfohlene Zielsprache für gespeicherte Prozeduren ist.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird hinzugefügt, wenn es eine Abfrage mit einer Variablen gibt, die ein qualifiziertes Mitglied wie einen Oracle-Datensatz oder eine Teradata for Loop-Variable enthält. Je nachdem, wo die Variable verwendet wird und um welche Art von Wert es sich handelt, kann für ein ordnungsgemäßes Funktionieren eine Umwandlung erforderlich sein.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Generierter Code mit Anpassungen: ¶
Best Practices¶
Überprüfen Sie, ob eine Umwandlung in ein Datum, eine Uhrzeit oder einen Zeitstempel für die Bindung erforderlich ist. Einige Fälle sind nicht erforderlich, da eine implizite Konvertierung des Werts erfolgt.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0027¶
Die folgende Anweisung verwendet eine Variable/ein Literal mit einer ungültigen Abfrage und wird nicht ausgeführt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Medium
Beschreibung¶
Diese Warnung meldet, dass eine bestimmte Anweisung eine Variable oder ein Literal mit einer ungültigen Abfrage verwendet und aus diesem Grund nicht ausgeführt wird.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie, ob eine Umwandlung in ein Datum, eine Uhrzeit oder einen Zeitstempel für die Bindung erforderlich ist. Einige Fälle sind nicht erforderlich, da eine implizite Konvertierung des Werts erfolgt.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0028¶
Typ, der von Snowflake nicht unterstützt wird.
Schweregrad¶
Medium
Beschreibung¶
Diese Meldung wird angezeigt, wenn ein Typ in Snowflake nicht unterstützt wird.
Beispiel¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0029¶
Externe Tabellendatenformate, die von Snowflake nicht unterstützt werden
Schweregrad¶
Medium
Beschreibung¶
Snowflake unterstützt die folgenden Formate externer Tabellen:
BigQuery |
Snowflake |
|---|---|
AVRO |
AVRO |
CSV |
CSV |
NEWLINE_DELIMITED_JSON |
JSON |
ORC |
ORC |
PARQUET |
PARQUET |
Wenn eine externe Tabelle ein anderes FORMAT hat, das nicht in der obigen Tabelle angegeben ist, wird dieses EWI generiert, um Benutzende darüber zu informieren, dass das FORMAT nicht unterstützt wird.
Codebeispiel¶
Eingabecode:¶
BigQuery¶
Generierter Code:¶
Snowflake¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0030¶
Die folgende Anweisung enthält Verwendungen von dynamischem SQL.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Medium
Beschreibung¶
Dieser Fehler gibt an, dass die Anweisung Verwendungen von dynamischem SQL enthält. Jede spezifische Quellsprache hat ihren eigenen Satz von Anweisungen, die dynamisches SQL ausführen können. Dynamisches SQL ist Code, der mit den von der Sprache der Datenbank-Engine bereitgestellten Tools zur Zeichenfolgenmanipulation als Text erstellt wird.
Dieses Szenario wird als komplexes Muster betrachtet, da dynamisches SQL erstellt und zur Laufzeit ausgeführt wird, was das Verfolgen und Debuggen von Fehlern erschwert. Dieser Fehler soll dabei helfen, einige Probleme zu erkennen, die eine Analyselösung für statischen Code wie Snow Connect nicht erkennen kann.
Codebeispiel¶
Teradata¶
Eingabe¶
Ausgabe¶
Oracle¶
Eingabe¶
Ausgabe¶
SQL Server¶
Eingabe¶
Ausgabe¶
Probleme in dynamischem SQL¶
Was bei der Migration von dynamischem SQL-Code unbedingt berücksichtigt werden muss, ist die Tatsache, dass SnowConvert AI keine Art von Problem innerhalb von dynamischem SQL im Ausgabecode oder in den Bewertungsberichten meldet. Dies gilt selbst dann, wenn in der Dokumentation eines Problems oder in der Übersetzungsspezifikation beschrieben wird, dass dem Ausgabecode immer ein Problem hinzugefügt wird. Hier sehen Sie ein Beispiel für eine Migration in Oracle, bei der diese Situation auftreten könnte:
Oracle¶
Snowflake¶
Im vorherigen Beispiel werden die Abfrage und die Variablenzuweisung innerhalb der Prozedur genau gleich konvertiert. Der Unterschied besteht darin, dass im dynamischen SQL-Code die Konvertierungsprobleme nicht im Ausgabecode und in den Bewertungsberichten angezeigt werden.
Best Practices¶
Verwenden Sie dieses Tag, um jede dynamisch erstellte Anweisung zu verfolgen und deren Korrektheit bei der Problembehandlung zu überprüfen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0031¶
Funktion nicht unterstützt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad ¶
Medium
Beschreibung ¶
Diese Warnung meldet, dass eine bestimmte integrierte Funktion von Teradata, Oracle oder SQL Server nicht unterstützt wird.
Beispielcode ¶
Eingabecode (Oracle):¶
Ausgabecode: ¶
Best Practices ¶
Unter den folgenden Links können Sie die aktuelle Transformation der spezifischen Funktion prüfen, die Sie konvertieren möchten:
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0032¶
External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
Beschreibung¶
Bei der Transformation der CREATE EXTERNAL TABLE-Anweisung generiertSnowConvert AI einenEXTERNAL_STAGE-Platzhalter, der durch den externen Stagingbereich ersetzt werden muss, der für die Verbindung mit dem externen Speicherort von Snowflake erstellt wurde.
Beachten Sie die folgenden Anleitungen, um die erforderliche Speicherintegration und den externen Stagingbereich in Ihrem Snowflake-Konto einzurichten:
Codebeispiel¶
Eingabecode:¶
BigQuery¶
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE EXTERNAL TABLE test.Employees_test
(
Employee_id INTEGER AS CAST(GET_IGNORE_CASE($1, 'c1') AS INTEGER),
Name STRING AS CAST(GET_IGNORE_CASE($1, 'c2') AS STRING),
Mail STRING AS CAST(GET_IGNORE_CASE($1, 'c3') AS STRING),
Position STRING AS CAST(GET_IGNORE_CASE($1, 'c4') AS STRING),
Salary INTEGER AS CAST(GET_IGNORE_CASE($1, 'c5') AS INTEGER)
)
!!!RESOLVE EWI!!! /*** SSC-EWI-0032 - EXTERNAL TABLE REQUIRES AN EXTERNAL STAGE TO ACCESS gs://sc_external_table_bucket, DEFINE AND REPLACE THE EXTERNAL_STAGE PLACEHOLDER ***/!!!
LOCATION = @EXTERNAL_STAGE
AUTO_REFRESH = false
PATTERN = 'folder_with_csv/Employees.csv'
FILE_FORMAT = (TYPE = CSV SKIP_HEADER =1);
Best Practices¶
Richten Sie Ihre externe Verbindung im Snowflake-Konto ein, und ersetzen Sie den EXTERNAL_STAGE-Platzhalter, um die Transformation abzuschließen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0033¶
Format entfernt, semantische Informationen nicht gefunden.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird angezeigt, wenn eine Spalte, die in einer CAST-Funktion mit einem bestimmten Ausgabeformat verwendet wird, im Quellcode nicht gefunden wurde.
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code: ¶
Best Practices¶
Stellen Sie sicher, dass alle Abhängigkeiten (Tabellen und Ansichten), die mit der Prozeduranweisung verbunden sind, migriert werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0034¶
Format entfernt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird angezeigt, wenn das Format der Spalte, die in einer CAST-Funktion verwendet wird, entfernt wird.
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code: ¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0035¶
Check-Anweisung nicht unterstützt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Die CHECK-Einschränkung wird von Snowflake nicht unterstützt, hat aber keine Auswirkungen auf die Funktionalität.
Beispielcode¶
Eingabecode Oracle:¶
Generierter Code: ¶
Eingabecode Teradata: ¶
Generierter Code: ¶
Eingabecode SqlServer:¶
Generierter Code:¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0036¶
Datentyp, der in einen anderen Datentyp konvertiert wird.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird angezeigt, wenn ein Datentyp in einen anderen geändert wird.
Beispielcode¶
Quellcode:¶
Konvertierter Code: ¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0040¶
Klausel nicht unterstützt.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
This warning is added when there is a statement that is not supported in Snowflake.
Beispielcode¶
Im folgenden Beispiel wird die PERCENT-Klausel von SQL Server in der SELECT-Abfrage verwendet. Dies wird dies von Snowflake nicht unterstützt.
Eingabecode (SQL Server):¶
Quellcode: ¶
Best Practices¶
Sehen Sie sich die ursprüngliche Funktionalität der Anweisung an, und überprüfen Sie, ob sie für Ihre speziellen Anforderungen in Snowflake wirklich benötigt wird.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0041¶
Die Datei hat eine unerwartete Codierung und wurde nicht übersetzt
Bemerkung
Dieses EWI ist veraltet. Weitere Informationen finden Sie in der Dokumentation SSC-OOS-0001.
Beschreibung¶
Dieses Problem tritt auf, wenn eine Quellcodedatei ein Codierungsformat hat, das vom Tool nicht erkannt wird. Die Zeichencodierung ist der Prozess der Zuweisung von Zahlen zu grafischen Zeichen, in diesem Zusammenhang zu geschriebenen Zeichen der menschlichen Sprache. Der Fehler weist also darauf hin, dass das Konvertierungstool bestimmte Zeichen nicht erkennen konnte.
Best Practices¶
Alle Dateien im Eingabeordner sollten dieselbe Codierung haben, um diesen Fehler zu vermeiden.
The appropriate encoding should be selected through the conversion settings or by utilizing the –encoding conversion parameter with the CLI. To determine which encoding to select online tools such as Free Online Formater can be used or run the command
file -i *in the case of Linux or OS.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0045¶
Spaltenname ist ein von Snowflake reserviertes Schlüsselwort.
Schweregrad¶
Medium
Beschreibung¶
In einigen Fällen können Spaltennamen, die in der Quellsprache gültig sind, mit den reservierten Schlüsselwörtern von Snowflake in Konflikt stehen. Diese Konflikte treten auf, weil Snowflake eine Reihe von Schlüsselwörtern reserviert, die ohne spezielle Behandlung nicht direkt als Spaltennamen verwendet werden können. Weitere Informationen dazu finden Sie in der offiziellen Snowflake-Dokumentation zu [reservierten und beschränkten Schlüsselwörtern] (https://docs.snowflake.com/en/sql-reference/reserved-keywords).
Codebeispiel¶
Eingabe¶
Ausgabe¶
Best Practices¶
Ziehen Sie in Erwägung, die Spalten umzubenennen, die Namen verwenden, die in Snowflake nicht unterstützt werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0046¶
Nested function/procedure declarations are considered a complex pattern and not supported in Snowflake.
Schweregrad¶
Kritisch
Beschreibung¶
Snowflake unterstützt nicht die Deklaration von verschachtelten Funktionen/Prozeduren. Daher wird diese Warnung zu jeder „create“-Funktion oder CREATE PROCEDURE-Anweisung hinzugefügt, in der verschachtelte Deklarationen gefunden wurden.
Codebeispiel¶
Eingabe¶
Ausgabe¶
Best Practices¶
Entfernen Sie die verschachtelten Deklarationen aus der Funktion/Prozedur.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0049¶
Es wird eine globale temporäre Tabelle referenziert.
Bemerkung
Dieses EWI ist veraltet. Weitere Informationen finden Sie in der Dokumentation SSC-FDM-0023.
Schweregrad¶
Medium
Beschreibung¶
SnowConvert AI wandelt globale temporäre Tabellen in reguläre CREATE TABLE-Anweisungen um. Verweise auf diese Tabellen verhalten sich möglicherweise anders als erwartet.
Codebeispiel¶
Eingabe¶
Ausgabe¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0052¶
Unbrauchbares Objekt
Schweregrad¶
Medium
Beschreibung¶
Dieser Fehler tritt auf, wenn der Quellcode einen Parameter oder eine Variable verwendet, der nicht unterstützt wird oder vom Konvertierungstool nicht erkannt wurde.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Suchen Sie nach einer Alternative für den verwendeten Datentyp.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0053¶
Objekt funktioniert möglicherweise nicht.
Schweregrad¶
Niedrig
Beschreibung¶
Dieser Fehler tritt auf, wenn das Konvertierungstool den Datentyp einer Variablen nicht ermitteln konnte. Dies kann passieren, weil die Deklaration einer Variablen fehlen könnte.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Stellen Sie sicher, dass die Variable im Eingabecode deklariert ist.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0054¶
Nicht unterstützte Unterabfrage für äußere Verknüpfung (Outer Join)
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schweregrad¶
Niedrig
Beschreibung¶
Dieser Fehler tritt auf, wenn eine korrelierte Unterabfrage innerhalb eines logischen OR-Ausdrucks eines OUTER JOIN (links, rechts oder voll) gefunden wird. In diesen Fällen könnten sie zu inkonsistenten Ergebnissen führen oder den folgenden Fehler verursachen:
SQL-Kompilierungsfehler: Nicht unterstützter Unterabfragetyp kann nicht ausgewertet werden.
Diese Beschränkungen bei Unterabfragen werden kurz in der Snowflake-Dokumentation erwähnt. Einige Informationen dazu finden Sie auch in den [Snowflake-Foren].(https://community.snowflake.com/s/question/0D53r00009mIxwYCAS/sql-compilation-error-unsupported-subquery-type-cannot-be-evaluated)
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code:¶
Best Practices¶
Stellen Sie sicher, dass der Ausgabecode keinen Kompilierungsfehler erzeugt.
Überprüfen Sie die funktionale Äquivalenz des Ausgabecodes.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0056¶
Custom Types Not Supported
Bemerkung
Deprecation: This issue code is deprecated. SnowConvert now translates many Oracle and cross-dialect CREATE TYPE definitions to Snowflake native user-defined types where supported. This entry’s Input Code and Generated Code examples are kept for historical reference and may not match current tool output. For current behavior, see the translation reference for your source: Oracle, IBM DB2, Teradata, SQL Server / Azure Synapse, PostgreSQL / Greenplum / Netezza, Sybase IQ.
Schweregrad¶
Niedrig
Beschreibung¶
This message appears when a user-defined type (UDT) is defined. User-defined types are not supported in Snowflake, so references to the custom type are changed to an appropriate Snowflake type (such as VARIANT or OBJECT).
Snowflake has a UDT Private Preview feature available. For more information about accessing this feature, please contact udt-prpr@snowflake.com.
Bemerkung
Die Typdefinition wurde kommentiert, wird aber bei der Auflösung von Verwendungen weiterhin berücksichtigt. Weitere Informationen finden Sie in SSC-EWI-0062.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Consider using Snowflake’s OBJECT or VARIANT data types as alternatives to user-defined types for storing complex structured data.
For more information about the UDT Private Preview feature, contact udt-prpr@snowflake.com.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0058¶
Die Funktion wird derzeit nicht von Snowflake Scripting unterstützt.
Schweregrad¶
Medium
Beschreibung¶
Dieser Fehler tritt auf, wenn eine Anweisung, die in einer Erstellungsprozedur verwendet wird, derzeit nicht von Snowflake Scripting unterstützt wird.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0062¶
Die Verwendung des CUSTOM-Typs wurde in ‚variant‘ geändert.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Meldung wird angezeigt, wenn ein kundenspezifischer Typ referenziert und seine Verwendung dann in eine Variante geändert wird.
Bemerkung
Diese Meldung steht in engem Zusammenhang mit SSC-EWI-0056.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Denken Sie daran, alle Eingabedaten ebenfalls in einen variantenkompatiblen Datentyp umzuwandeln.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0064¶
Referenzierter kundenspezifischer Typ in der Abfrage nicht gefunden.
Schweregrad¶
Hoch
Beschreibung¶
Dieser Fehler tritt auf, wenn in einer Quelle für eine DML-Anweisung auf einen kundenspezifischen Typ verwiesen wird, dieser aber nie definiert wurde, z. B. in einer Tabellenspalte, deren Typ UDT sein könnte, der aber nie definiert wurde.
Warnung
Dies ist nicht zu verwechseln mit SSC-FDM-0015, wenn er in einer DDL-Abfrage referenziert wurde.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Stellen Sie sicher, dass der Typ, auf den verwiesen wurde, im Eingabecode definiert ist.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0066¶
Ausdruck wird von Snowflake nicht unterstützt.
Schweregrad ¶
Hoch
Beschreibung ¶
Dieser Fehler wird verwendet, um darüber zu informieren, dass ein spezifischer Ausdruck in Snowflake nicht unterstützt wird.
Beispielcode ¶
Eingabecode:¶
Ausgabecode: ¶
Best Practices ¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0067¶
UDF wurde in eine Snowflake-Prozedur umgewandelt, der Aufruf von Prozeduren innerhalb einer Abfrage wird nicht unterstützt.
Schweregrad¶
Hoch
Beschreibung¶
Dieser Fehler wird hinzugefügt, wenn ein Aufruf einer UDF (benutzerdefinierten Funktion) innerhalb einer Abfrage gefunden wird. Oracle-UDFs und UDFs innerhalb von Paketen sowie einige SQL Server-UDFs werden in gespeicherte Snowflake-Prozeduren umgewandelt, die nicht aus einer Abfrage aufgerufen werden können.
Die Funktion wird in eine gespeicherte Prozedur umgewandelt, um die funktionale Äquivalenz aufrechtzuerhalten, und der Funktionsaufruf wird in eine leere Snowflake-UDF-Funktion umgewandelt.
Bemerkung
Dieses EWI steht in engem Zusammenhang mit SSC-EWI-0068.
Beispielcode¶
SQL Server:¶
Eingabecode¶
Generierter Code¶
Oracle:¶
Eingabecode¶
Generierter Code¶
Best Practices¶
Der Quellcode muss möglicherweise umstrukturiert werden, um dem Ansatz von Snowflake für benutzerdefinierte Funktionen zu entsprechen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0068¶
Die benutzerdefinierte Funktion wurde in eine Snowflake-Prozedur umgewandelt.
Benutzerdefinierte Funktionen von Snowflake unterstützen nicht die gleichen Features wie Oracle oder SQL Server. Um die funktionalen Äquivalenz aufrechtzuerhalten, wird die Funktion in eine gespeicherte Snowflake-Prozedur umgewandelt. Dies wird sich auf deren Verwendung in Abfragen auswirken.
Beispielcode¶
SQL Server:¶
Eingabecode¶
Generierter Code¶
Oracle:¶
Eingabecode¶
CREATE OR REPLACE FUNCTION FUN1(PAR1 VARCHAR)
RETURN VARCHAR
IS
VAR1 VARCHAR(20);
VAR2 VARCHAR(20);
BEGIN
SELECT COL1 INTO VAR1 FROM TABLE1 where col1 = 1;
VAR2 := PAR1 || VAR1;
RETURN VAR2;
END;
/
Generierter Code¶
Best Practices¶
Trennen Sie die internen Abfragen, um die gleiche Logik beizubehalten.
Der Quellcode muss möglicherweise umstrukturiert werden, um dem Ansatz von Snowflake für benutzerdefinierte Funktionen zu entsprechen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0073¶
Überprüfung auf gleichwertige Funktion ausstehend.
Schweregrad¶
Medium
Beschreibung¶
This EWI is added when there is a grammar clause in the input platform that has not been reviewed by the SnowConvert AI developer team. The code may require manual revision for it to work in Snowflake.
Beispielcode¶
SQLServer:¶
Eingabecode¶
Generierter Code¶
Beachten Sie, dass in Zeile 6 des Eingabecodes ein Verweis auf eine INSERT-Anweisung mit DEFAULT VALUES vorhanden ist. Diese Anweisung wird aktuell von SnowConvert AI nicht unterstützt, weshalb in den Zeilen 11 und 12 das EWI generiert wird.
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0077¶
Zyklus zwischen CTE-Aufrufen gefunden. CTEs können nicht angeordnet werden.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird hinzugefügt, wenn eine Abfrage mit mehreren CTE(Common Table Expression)-Referenzaufrufen einen Zyklus erzeugt, der die Aufrufreihenfolge der CTEs nicht bestimmen kann. Deshalb können die CTEs nicht angeordnet werden, und die Abfrage bleibt als Quelle erhalten.
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code:¶
Best Practices¶
Es sind keine weiteren Aktionen des Benutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0080¶
Der Standardwert ist bei binären Spalten nicht zulässig.
Schweregrad ¶
Niedrig
Beschreibung ¶
This EWI is added when the source code has a default value for BINARY data type, which is not supported in Snowflake SQL
Beispielcode: ¶
Eingabecode (SqlServer):
Ausgabecode:
Best Practices ¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0084¶
XMLTABLE wird nicht unterstützt.
Schweregrad¶
Hoch
Beschreibung¶
XMLTABLE-Funktion wird aktuell nicht unterstützt.
Beispielcode¶
Eingabecode (DB2):¶
Generierter Code:¶
Best Practices¶
Sehen Sie sich diesen Blog bezüglich XML-Transformationen in Snowflake an.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0086¶
Ungültige Zeichen für neuen Bezeichner ersetzt
Bemerkung
Dieses EWI ist veraltet. Weitere Informationen finden Sie in der Dokumentation SSC-FDM-0030.
Schweregrad¶
Niedrig
Beschreibung¶
Der angegebene Bezeichner enthält ungültige Zeichen für die Ausgabesprache. Diese Zeichen wurden durch UTF-8-Codes ersetzt.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0092¶
Die materialisierte Ansicht wurde in eine reguläre Ansicht konvertiert.
Gefahr
Veraltet
Schweregrad¶
Niedrig
Beschreibung¶
Currently, all Materialized Views are being converted to regular Views. This process eliminates additional clauses that the Materialized Views may have had. For more information, see Limitations on creating materialized views.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Es sind keine weiteren Aktionen des Benutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0094¶
Label-Deklaration wird nicht unterstützt
Schweregrad¶
Niedrig
Beschreibung¶
Derzeit gibt es in Snow Scripting keine Entsprechung für die Label-Deklaration, folglich wird ein EWI hinzugefügt, und das Label wird auskommentiert.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0095¶
Create Type not supported in Snowflake
Bemerkung
Deprecation: This issue code is deprecated. Snowflake supports native user-defined types, and SnowConvert emits CREATE TYPE for many supported patterns. This entry’s Input Code and Generated Code examples are preserved as historical reference. For current conversion behavior, see the translation reference for your source: Oracle, IBM DB2, Teradata, SQL Server / Azure Synapse, PostgreSQL / Greenplum / Netezza, Sybase IQ.
Schweregrad¶
Hoch
Beschreibung¶
User-defined types (UDTs) created with the CREATE TYPE statement are not currently supported in Snowflake. When SnowConvert AI encounters a CREATE TYPE statement, it adds this warning to indicate that manual intervention is required.
Snowflake has a UDT Private Preview feature available. For more information about accessing this feature, please contact udt-prpr@snowflake.com.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Consider using Snowflake’s OBJECT or VARIANT data types as alternatives to user-defined types for storing complex structured data.
For more information about the UDT Private Preview feature, contact udt-prpr@snowflake.com.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0101¶
Der Name des Transaktionslabels wird auskommentiert, da es in Snowflake nicht anwendbar ist.
Schweregrad¶
Niedrig
Beschreibung¶
Snowflake verwendet keine Namen von Transaktionslabels, da es keine verschachtelten Transaktionen geben sollte, die in verschiedenen COMMIT- oder ROLLBACK-Anweisungen identifiziert werden.
Beispielcode¶
Eingabecode (SQL Server):¶
Generierter Code:¶
Best Practices¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0102¶
Anweisungsoption aus Code entfernt, da sie bereits bei der Konvertierung in Snowflake behandelt wird
Bemerkung
Dieses EWI ist veraltet.
Schweregrad¶
Niedrig
Beschreibung¶
Snowflake-Anweisungen können einige Optionen entfernen, wenn sie von der Konvertierungsregel behandelt werden. Die Option wird also aus dem Ausgabecode entfernt, aber die Funktionalität bleibt gleich.
Beispielcode¶
Eingabecode (PostgreSQL):¶
Generierter Code:¶
Best Practices¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0107¶
Intervall-Literal im aktuellen Szenario nicht unterstützt
Schweregrad¶
Hoch
Beschreibung¶
Snowflake-Intervalle können nur in arithmetischen Operationen verwendet werden. Intervalle, die in einem anderen Szenario verwendet werden, werden nicht unterstützt.
Beispielcode ¶
Eingabecode:
Ausgabecode:
Best Practices ¶
Es sind keine Aktionen von Endbenutzenden erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0108¶
Die folgende Unterabfrage stimmt mit mindestens einem der Muster überein, die als ungültig angesehen werden und kann Kompilierungsfehler verursachen.
Schweregrad¶
Hoch
Beschreibung¶
In Snowflake gibt es in einer Unterabfrage mehrere Muster und Elemente, die nicht unterstützt werden. Dies kann dazu führen, dass sie nicht ausgeführt werden kann. Gemäß der Snowflake-Dokumentation zu Unterabfragen werden die folgenden Unterabfragetypen unterstützt:
Unkorrelierte skalare Unterabfragen an einer beliebigen Stelle, an der ein Wertausdruck verwendet werden kann.
Korrelierte skalare Unterabfragen in WHERE-Klauseln.
EXISTS-, ANY/ALL- und IN-Unterabfragen in WHERE-Klauseln. Diese Unterabfragen können korreliert oder unkorreliert sein.
Beachten Sie, dass die obige Liste nicht vollständig ist, was bedeutet, dass Unterabfragen, die keinem der angegebenen Typen entsprechen, möglicherweise weiterhin als gültig angesehen werden.
Um Fehler zu vermeiden, kennt SnowConvert AI einen Satz von Unterabfragemustern, die Unterabfragen normalerweise ungültig machen. Dieses EWI wurde hinzugefügt, um Benutzende zu warnen, dass die Unterabfrage mit mindestens einem dieser Muster übereinstimmt und es daher beim Kompilieren in Snowflake zu einem Fehler kommen kann.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie die Unterabfrage in Snowflake: Wenn sie ohne Probleme kompiliert werden kann, kann dieses EWI ignoriert werden.
Überprüfen Sie dazu im Bewertungsbericht den Abschnitt mit komplexen Mustern für Unterabfragen. Er enthält eine Liste der Muster, die Unterabfragen normalerweise ungültig machen, sowie deren Vorkommen. Sie können hier die migrierten Unterabfragen überprüfen und erfahren, warum sie als ungültig betrachtet werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0109¶
Alter Table-Syntax ist in Snowflake nicht anwendbar.
Schweregrad¶
Medium
Beschreibung¶
Die verwendete Alter Table-Syntax ist in Snowflake nicht anwendbar, daher wird diese Meldung hinzugefügt.
Beispielcode:¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Es sind keine weiteren Aktionen des Benutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0110¶
Transformation wird aufgrund fehlender Abhängigkeiten nicht durchgeführt
Schweregrad¶
Niedrig
Beschreibung¶
Wenn Abhängigkeiten fehlen, wird das EWI hinzugefügt, um darauf hinzuweisen, dass eine Transformation nicht ausgeführt werden kann. SnowConvert AI verwendet abstrakte Syntaxbäume, um ein semantisches Modell des Eingabecodes zu erstellen, das dann verwendet wird, um neuen Code zu generieren, der die Funktionalität der ursprünglichen Quelle repliziert. In diesem speziellen Szenario konnte die Transformation jedoch nicht abgeschlossen werden, da dem semantischen Modell bestimmte Abhängigkeiten fehlen.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Fügen Sie die fehlenden Abhängigkeiten zum Eingabecode hinzu.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0111¶
Für verschachtelte Prozeduren in Snowflake ist nur eine Ebene der Verschachtelung erlaubt.
Schweregrad¶
Kritisch
Beschreibung¶
Snowflake unterstützt nur eine einzige Ebene der Verschachtelung von Prozeduren. Die Definition einer verschachtelten Prozedur innerhalb einer anderen verschachtelten Prozedur ist nicht zulässig. Wenn dieses Muster erkannt wird, wird dieser Fehler generiert.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Überarbeiten Sie Ihren Code, um mehr als eine Ebene verschachtelter Prozeduren zu vermeiden. Verschieben Sie tief verschachtelte Prozeduren auf die oberste Ebene, oder strukturieren Sie Ihre Logik um, damit die Beschränkung von Snowflake bezüglich der Verschachtelung auf einer Ebene eingehalten wird.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0112¶
Das Überladen von verschachtelten Prozeduren wird nicht unterstützt.
Schweregrad¶
Kritisch
Beschreibung¶
Snowflake unterstützt nicht das Überladen von verschachtelten Prozeduren. Mit anderen Worten: Sie können nicht mehrere verschachtelte Prozeduren mit demselben Namen, aber unterschiedlichen Parameterlisten innerhalb derselben übergeordneten Prozedur definieren. Wenn der Quellcode überladene verschachtelte Prozeduren enthält, wird dieser Fehler erzeugt, um darauf hinzuweisen, dass solche Muster in Snowflake nicht unterstützt werden.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Der Versuch, verschachtelte Prozeduren in Snowflake zu überladen, führt zu Kompilierungsfehlern oder unerwartetem Verhalten. Um Kompatibilität sicherzustellen, sollten Sie Ihren Code überarbeiten, damit verschachtelte Prozeduren nicht überladen werden. Ziehen Sie in Erwägung, Prozeduren umzubenennen, sodass jede verschachtelte Prozedur innerhalb ihres Geltungsbereichs einen eindeutigen Namen hat, oder strukturieren Sie Ihre Logik um, um eine Überladung zu vermeiden. Überprüfen und aktualisieren Sie außerdem alle Prozeduraufrufe, um die neuen eindeutigen Namen zu verwenden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0113¶
Die Verwendung einer Snowflake Scripting-UDF wird in diesem Szenario nicht unterstützt.
Schweregrad¶
Medium
Beschreibung¶
Die Verwendung von Snowflake Scripting-UDFs in bestimmten Szenarien wird nicht unterstützt. Die folgenden Fälle werden nicht unterstützt:
Snowflake Scripting-UDFs können beim Erstellen einer materialisierten Ansicht nicht verwendet werden.
Snowflake Scripting-UDFs können nicht verwendet werden, um einen Standard-Spaltenwert anzugeben.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0114¶
MIXED CONTINUE AND EXIT EXCEPTION HANDLERS IN THE SAME BLOCK ARE NOT SUPPORTED BY SNOWFLAKE SCRIPTING.
Schweregrad¶
Medium
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
In database systems like DB2, Teradata, and others, it is possible to declare both CONTINUE and EXIT exception handlers in the same procedural block. However, Snowflake Scripting does not support mixing CONTINUE and EXIT handlers within the same EXCEPTION block.
When SnowConvert AI encounters a procedure with both types of handlers declared in the same block, it generates separate EXCEPTION blocks for each handler type and adds this EWI to indicate that manual review and testing are required to ensure the converted code maintains the intended behavior.
Key Behavioral Differences:
CONTINUE HANDLER: Allows execution to continue after handling the exception
EXIT HANDLER: Terminates the current block after handling the exception
Since Snowflake cannot mix these behaviors in a single EXCEPTION block, the conversion may result in different execution flow compared to the source system.
Beispielcode¶
Eingabecode:¶
DB2
Generierter Code:¶
Snowflake
Best Practices¶
When dealing with mixed CONTINUE and EXIT handlers:
Review Exception Handling Logic: Carefully review the converted code to understand how exceptions are handled in each block.
Test Thoroughly: Test all error scenarios to ensure the behavior matches the source system’s expectations.
Consider Refactoring: If possible, refactor the code to use only one type of handler (either all CONTINUE or all EXIT) within a block.
Use Nested Blocks: Consider restructuring the logic using nested BEGIN…END blocks, where each block has its own exception handling strategy.
Document Behavior Changes: Document any differences in exception handling behavior for future maintenance.
Recommended Pattern¶
Instead of mixing handlers, consider this approach:
SSC-EWI-0115¶
Iceberg table contains unsupported datatypes.
Schweregrad¶
Medium
Beschreibung¶
This EWI is emitted for tables that contain datatypes currently not supported by Snowflake on Iceberg tables. Currently, Snowflake offers support for Iceberg tables in V2 format.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Consider modifying the columns and logic to make use of datatypes supported in Iceberg tables
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0116¶
Snowflake does not support interval values inside semi-structured type columns.
Schweregrad¶
Medium
Beschreibung¶
This EWI is emitted when the --UseIntervalDatatype preview flag is enabled and an INTERVAL data type appears inside a semi-structured type column such as ARRAY, MAP, or STRUCT. Snowflake does not support storing INTERVAL values inside VARIANT-based columns. The outer type is still converted (for example, STRUCT becomes VARIANT), but the EWI warns that the INTERVAL values within cannot be preserved.
For more details on how interval types are handled across languages, see the Interval Data Types translation reference.
Beispielcode¶
Input Code (BigQuery):¶
Generated Code (BigQuery):¶
Input Code (Hive):¶
Generated Code (Hive):¶
Best Practices¶
Consider extracting interval values from semi-structured columns into dedicated INTERVAL-typed columns
If interval values must be stored in VARIANT columns, store them as strings and convert back to intervals when needed using CAST expressions
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0117¶
Snowflake does not support interval data type in UDFs or Snowflake Scripting.
Schweregrad¶
Medium
Beschreibung¶
This EWI is emitted when the --UseIntervalDatatype preview flag is enabled and an INTERVAL data type is used in a context not yet supported by Snowflake Scripting: UDF or procedure parameters, return types, or variable declarations. The INTERVAL type is preserved in the output for reference, but the EWI warns that it will not work at runtime in these contexts.
For more details on how interval types are handled across languages, see the Interval Data Types translation reference.
Beispielcode¶
Input Code (BigQuery):¶
Generated Code (BigQuery):¶
Eingabecode (Teradata):¶
Generated Code (Teradata):¶
Best Practices¶
Consider using VARCHAR parameters for interval values and converting them inside the procedure body using CAST expressions
If the interval parameter is used only for datetime arithmetic within the procedure, consider passing the numeric components separately
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0118¶
Snowflake does not support interval columns in Dynamic Tables.
Schweregrad¶
Medium
Beschreibung¶
This EWI is emitted when the --UseIntervalDatatype preview flag is enabled and a materialized view (converted to a Snowflake Dynamic Table) references columns with INTERVAL data types. Snowflake Dynamic Tables do not support INTERVAL-typed columns. The Dynamic Table is still generated, but the EWI warns that it may fail at runtime.
For more details on how interval types are handled across languages, see the Interval Data Types translation reference.
Beispielcode¶
Input Code (BigQuery):¶
Generated Code (BigQuery):¶
Best Practices¶
Consider excluding INTERVAL columns from the Dynamic Table query, or casting them to VARCHAR before selecting
If the interval values are needed in downstream queries, consider creating a regular view instead of a Dynamic Table for the INTERVAL columns
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-0119¶
Interval type column was converted to VARCHAR.
Schweregrad¶
Niedrig
Beschreibung¶
This EWI is emitted in Dynamic Table contexts when the --UseIntervalDatatype preview flag is not enabled and a source column had an INTERVAL data type that was converted to VARCHAR. This alerts users that the column in the Dynamic Table query originally referenced an interval-typed column that lost its type during conversion.
Beispielcode¶
Input Code (BigQuery):¶
Generated Code (BigQuery):¶
Best Practices¶
Consider enabling the
--UseIntervalDatatypepreview flag to preserve native INTERVAL types where possibleReview the VARCHAR columns in the output to ensure the string representation of interval values is compatible with your application logic
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.