SnowConvert AI – Allgemeine Funktionsunterschiede¶
SSC-FDM-0001¶
Ansichten, die alle Spalten einer einzelnen Tabelle auswählen, sind in Snowflake nicht erforderlich.
Bemerkung
Einige Teile des Ausgabecodes werden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Ansichten, die nur alle Spalten einer einzelnen Tabelle auswählen und keine Filterklausel enthalten, sind in Snowflake nicht erforderlich und können die Leistung beeinträchtigen.
Codebeispiel¶
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-FDM-0002¶
Korrelierte Unterabfrage kann Funktionsunterschiede aufweisen
Beschreibung¶
Diese Nachricht wird gemeldet, wenn eine Korrelierte Unterabfrage (Unterabfrage, die auf eine Spalte aus der äußeren Abfrage verweist) gefunden wird. Diese Art von Unterabfragen kann in einigen Fällen einige Funktionsunterschiede in Snowflake aufweisen (Arbeiten mit Unterabfragen).
Codebeispiel¶
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-FDM-0003¶
Inkonsistenz beim Konvertierungssatz
Beschreibung¶
Diese Meldung wird ausgegeben, wenn im angegebenen Bewertungsfeld eine Unstimmigkeit bei der Umwandlungsrate festgestellt wird. Diese Situationen werden automatisch von SnowConvert AI gelöst, sodass dies nur eine informative Warnung ist.
Bemerkung
Diese informative Warnung ist nur in den Bewertungsdokumenten sichtbar und erscheint nicht im Ausgabecode.
Best Practices¶
Trotz der Fähigkeit von SnowConvert AI, das Problem automatisch zu beheben, können Sie das Support-Team weiterhin per E-Mail unter snowconvert-support@snowflake.com kontaktieren und das Problem dort melden.
SSC-FDM-0004¶
Externe Tabelle in reguläre Tabelle übersetzt
Beschreibung¶
This warning is added to clauses related to external handling. Snowflake recommends that all data should be managed inside the Snowflake data storage. For more information on this subject, see the Snowflake data storage considerations.
Codebeispiel¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Die Daten, die in den Dateien der externen Tabellen gespeichert sind, müssen in die Snowflake-Datenbank verschoben werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0005¶
TIME ZONE wird für Zeitdatentypen nicht unterstützt
Beschreibung¶
Der Datentyp Zeit in Snowflake speichert keine Zeitzonenwerte.
TIME internally stores “wallclock” time, and all operations on TIME values are performed without taking any time zone into consideration. For more information, see the Snowflake TIME data type documentation.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Es ist keine Aktion des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0006¶
Spalte vom Typ Nummer verhält sich in Snowflake möglicherweise nicht ähnlich.
Beschreibung¶
Diese Functional-Difference-Meldung erscheint, wenn innerhalb einer Tabelle eine Spalte vom NUMBER-Typ erstellt wird. Der Grund dafür sind arithmetische Unterschiede bei der Ausführung von Vorgängen im Zusammenhang mit der Skalierung von Zwischenwerten in Snowflake, die dazu führen können, dass einige Vorgänge fehlschlagen. Weitere Informationen finden Sie in Snowflakes Beitrag zu „Intermediate Numbers in Snowflake“ sowie im Artikel „Number out of representable range“.
To avoid these arithmetic issues, you can run data samplings to verify the needed precision and scales for these operations.
Beispielcodes¶
Einfache Tabelle mit Zahlenspalten¶
Eingabecode (Oracle):¶
Generierter Code:¶
Beispiele für arithmetische Probleme¶
Die nächsten Beispiele zeigen, wie die arithmetischen Probleme bei der Verwendung von Zahlenspalten auftreten können:
Snowflake-Code mit Divisionsfehler:¶
Snowflake-Code mit Multiplikationsfehler:¶
Beim Ausführen von SELECT-Anweisungen gibt Snowflake einen Fehler zurück:
Zahl außerhalb des darstellbaren Bereichs: Typ FIXEDSB16{nullable}, Wert 1,0000000000000000000
Dies ist darauf zurückzuführen, dass das Ergebnis des Zwischenvorgangs die maximale Kapazität von Snowflake überschreitet. Wenn Sie die Anzahl der Dezimalstellenzahlen um 1 bei jedem Beispiel reduzieren, wird der Fehler behoben und alles funktioniert normal:
Snowflake-Code mit Division:¶
Snowflake-Code mit Multiplikation:¶
Aus diesem Grund legt SnowConvert AI die Standardskalierung von Zahlen auf 18 fest, wodurch die Anzahl der Fehler bei der Migration minimiert wird.
Best Practices¶
Stellen Sie sicher, dass die Zwischenwerte des Vorgangs eine Skalierung von 37 nicht überschreiten, da dies das Maximum von Snowflake ist.
Führen Sie Data Sampling an Ihren Daten aus, um sicherzustellen, dass Sie die erforderliche Genauigkeit und Skalierung haben, bevor Sie Vorgänge ausführen.
In den meisten Fällen werden Sie nach einigen Datensampling oder Diskussionen mit dem Unternehmen zu dem Schluss kommen, dass die Genauigkeit unterschiedlich sein kann. Beispiel: für
MONEY-Spalten istNUMBER(20,4)eine typische Genauigkeit. In Snowflake können Sie den Datentyp einer Spalte nicht einfach ändern. Sie können diesen Beitrag auf unserem Forum lesen. Hier finden Sie einige Hinweise, wie Sie die Datentypen Ihrer Spalten ändern und die Daten erhalten bleiben.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0007¶
Element mit fehlenden Abhängigkeiten
Bemerkung
Einige Teile des Ausgabecodes werden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Es fehlt eine Abhängigkeit für ein Objekt. Snow Container konnte einige Datentypen nicht auflösen. Außerdem besteht die Möglichkeit eines Bereitstellungsfehlers, wenn die Abhängigkeit nicht im Quellcode enthalten ist.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Bemerkung
Beachten Sie, dass die TABLE1-Definition fehlt.
Best Practices¶
Stellen Sie sicher, dass alle Abhängigkeiten der Objekte im Quellcode enthalten sind.
Wenn nicht, suchen Sie die Verweise auf das Objekt im Code und prüfen Sie, ob die Vorgänge gut verwaltet werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0008¶
On Commit nicht unterstützt
Bemerkung
Einige Teile des Ausgabecodes werden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung ¶
Die ON COMMIT-Klauseln in Ihrer CREATE TABLE-Anweisung wurde auskommentarisiert. Snowflake unterstützt die ON COMMIT-Klausel nicht, da sie typischerweise für temporäre Tabellen in anderen SQL-Dialekten verwendet wird. Wenn Sie transaktionsspezifisches Verhalten steuern müssen, sollten Sie stattdessen die Transaktionsfunktionen von Snowflake oder temporäre Tabellen mit expliziten TRUNCATE- oder DROP-Anweisungen verwenden.
Beispielcode¶
Eingabecode¶
Generierter Code¶
SSC-FDM-0009¶
GLOBAL TEMPORARY TABLE-Funktionalität nicht unterstützt.
Beschreibung ¶
Globale temporäre Tabellen werden als komplexes Muster betrachtet, da sie in mehreren Varianten vorkommen können, wie in der Snowflake-Dokumentation.
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-FDM-0010¶
Typ wurde in Datum geändert.
Beschreibung ¶
Diese Nachricht wird angezeigt, wenn SnowConvert AI ein DEFAULT SYSDATE findet und der Datentyp NOT ein DATE oder TIMESTAMP ist. In diesem Fall wird der Datentyp in DATE geändert.
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-FDM-0011¶
Spaltenname ist ein von Snowflake reserviertes Schlüsselwort.
Bemerkung
Dieses FDM ist veraltet; bitte lesen Sie die Dokumentation unter SSC-EWI-0045.
Beschreibung ¶
Spaltennamen, die in der Quellsprache gültig sind, aber in Snowflake reservierte Schlüsselwörter darstellen.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
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-FDM-0012¶
Constraint Name wird in einigen Einschränkungen nicht unterstützt.
Beschreibung ¶
Diese Meldung wird hinzugefügt, wenn eine Einschränkung vom Typ „Null“, „Not Null“ oder „Standard“ ist und mit einem Namen definiert wurde. Snowflake unterstützt die Namen in diesen Einschränkungen nicht. Deshalb entfernt SnowConvert AI sie und fügt einen Kommentar hinzu.
Beispielcode¶
Eingabecode¶
Generierter Code¶
Best Practices¶
Es ist keine Aktion des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0013¶
Zeitzonenausdruck konnte nicht zugeordnet werden
Beschreibung ¶
This FDM message is added to indicate scenarios where the actual value of a timezone expression cannot be determined, and therefore, the translated results might be different. When the timezone value used is a literal string, SnowConvert AI can take it and map it to its corresponding timezone value in Snowflake. However, when this value is specified by an expression, SnowConvert AI cannot get the timezone value that will be used at runtime and, therefore, cannot map this value to its corresponding Snowflake equivalent.
Beispielcode¶
Eingabecode (Oracle)¶
Generierter Code¶
Eingabecode (Teradata)¶
Generierter Code¶
¶
Bemerkung
Zeitzonenkompatibilität in Oracle
Die meisten Ausdrücke von Zeitzonennamen in Oracle werden direkt in Snowflake unterstützt. Wenn dies der Fall ist, wird die Migration ohne Probleme ausgeführt. Außerdem finden Sie hier eine Liste der Anbieter, die derzeit nicht von Snowflake unterstützt werden, und daher die Meldung „Funktionsunterschied“ enthalten.
Afrika/Doula
Asien/Ulaanbaator
Asien/Jekaterinburg
Kanada/East-Saskatchewan
CST
PST
US/Pacific-New
Best Practices¶
Es ist keine Aktion des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0014¶
Check-Anweisung nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-0035 documentation.
Beschreibung¶
CHECK-Einschränkung wird von Snowflake nicht unterstützt, hat aber keine Auswirkungen auf die Funktionalität.
Beispielcode¶
Eingabecode Oracle:¶
Generierter Code: ¶
Eingabecode-Teradaten: ¶
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-FDM-0015¶
Referenzierter kundenspezifischer Typ in der Abfrage nicht gefunden.
Beschreibung ¶
Dieser Fehler tritt auf, wenn die Definition für einen kundenspezifischen Typ nicht gefunden wurde oder ein in Oracle integrierter Datentyp von SnowConvert nicht erkannt wurde.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie, ob der Typ, der den referenzierten Datentyp hat, im Eingabecode definiert wurde.
Prüfen Sie die Snowflake-Datentypen Dokumentation, um eine Entsprechung für den Datentyp zu finden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0016¶
Konstanten werden von Snowflake Scripting nicht unterstützt. Sie wurde in eine Variable umgewandelt.
Beschreibung ¶
Snowflake Scripting unterstützt keine Konstanten. Daher werden alle Konstanten innerhalb von Prozeduren in Variablen umgewandelt, wenn das Snowflake Scripting-Flag aktiviert ist.
Beispielcode¶
Oracle:¶
Snowflake Scripting:¶
Best Practices¶
Es sind keine Aktionen des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0017¶
WITH SYSTEM VERSIONING-Klausel wird von Snowflake nicht unterstützt.
Beschreibung¶
Die WITH SYSTEM VERSIONING-Klausel in ANSI SQL wird verwendet,wird verwendet, um die Systemversionierung für eine Tabelle zu aktivieren, sodass Sie einen Änderungsverlauf an den Tabellendaten im Zeitverlauf beibehalten können. Diese Klausel wird von Snowflake nicht unterstützt.
Codebeispiel¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
You can use Time Travel in Snowflake, Time Travel enables accessing historical data (that is, data that has been changed or deleted) at any point within a defined period. It serves as a powerful tool for performing the following tasks:
Wiederherstellen von datenbezogenen Objekten (Tabellen, Schemas und Datenbanken), die versehentlich oder absichtlich gelöscht wurden.
Duplizieren und Sichern von Daten zu wichtigen Zeitpunkten der Vergangenheit.
Analyse der Datennutzung/Datenmanipulation über einen spezifizierten Zeitraum.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0018¶
CHARACTER SET-Klausel wird von Snowflake nicht unterstützt.
Beschreibung¶
Die Spaltenoption CHARACTER SET bestimmt die zulässige Menge von Zeichen, die in der Spalte gespeichert werden können. Diese Klausel wird von Snowflake nicht unterstützt.
Codebeispiel¶
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-FDM-0019¶
Semantic information could not be loaded.
Beschreibung¶
Diese Warnung informiert den Benutzer darüber, dass SnowConvert AI keine semantischen Informationen für ein bestimmtes Objekt laden konnte. Dies wird höchstwahrscheinlich verursacht, weil es ein doppeltes Objekt mit demselben Namen gibt: SnowConvert AI konnte die semantischen Informationen dieses Objekts nicht laden und die Analyse abschließen.
Beispielcode¶
Eingabecode:¶
Generierter Code: ¶
Best Practices¶
Prüfen Sie auf doppelte Objekte im Eingabecode, da dies das Laden von semantischen Informationen beeinträchtigen kann.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0020¶
Mehrere Resultsets werden in temporären Tabellen zurückgegeben
Beschreibung¶
In Snowflake Scripting-Prozeduren kann nur ein Resultset pro Prozedur zurückgegeben werden.
Um das Verhalten von Teradata zu replizieren, werden, wenn zwei oder mehr Resultsets zurückgegeben werden sollen, diese in temporären Tabellen gespeichert. Die Snowflake Scripting-Prozedur gibt ein Array zurück, das den Namen der temporären Tabellen enthält.
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code:¶
Best Practices¶
Um die Resultsets zu erhalten, muss eine SELECT Abfrage mit den Namen der temporären Tabellen ausgeführt werden, die von der Prozedur zurückgegeben werden.
Vermeiden Sie so weit wie möglich Prozeduren, die mehrere Resultsets zurückgeben. Überlassen Sie sie stattdessen der Verantwortung für direktere Ergebnisse.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0021¶
Index erstellen wird nicht unterstützt.
Beschreibung¶
Aus architektonischen Gründen unterstützt Snowflake keine Indizes, sodass SnowConvert AI den gesamten Code auskommentiert, der mit der Erstellung von Indizes zusammenhängt. Snowflake erstellt automatisch Mikropartitionen für jede Tabelle, um die Leistung von DML-Operationen zu beschleunigen. Benutzende müssen sich so nicht um die Erstellung oder Verwaltung dieser Mikropartitionen kümmern.
In der Regel reicht dies aus, um eine sehr gute Abfrageleistung zu erzielen. Es gibt jedoch Möglichkeiten, diese durch das Erstellen von Datengruppierungsschlüsseln zu verbessern. Die offiziellen Seite von Snowflake bietet weitere Informationen zu Mikropartitionen und Daten-Clustering.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Daten-Clustering könnte eine Möglichkeit sein, die Abfrageleistung von Tabellen zu beschleunigen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0022¶
Die Fensterrahmeneinheit wurde in Zeilen geändert.
Schweregrad¶
Niedrig
Beschreibung¶
Diese Warnung wird hinzugefügt, wenn eine nicht unterstützte Fensterrahmeneinheit in Zeilen geändert wurde, was zu Unterschieden in der Ausgabe führte. Ein Beispiel hierfür ist die GROUPS-Einheit, die von Snowflake nicht unterstützt wird.
Bitte beachten Sie, dass diese Meldung auch in Fällen verwendet wird, in denen eine Fensterrahmeneinheit teilweise nicht unterstützt wird und daher geändert werden muss, wie beispielsweise die RANGE-Einheit.
Beispielcode¶
Nehmen wir die folgenden Daten als Beispiel, um dies zu erklären.
C_NAME |
C_BIRTH_DAY |
|---|---|
USA |
1 |
USA |
4 |
Polen |
9 |
Kanada |
10 |
USA |
5 |
Kanada |
12 |
Costa Rica |
3 |
Polen |
4 |
USA |
2 |
Costa Rica |
7 |
Costa Rica |
10 |
Oracle:¶
Code¶
SELECT
C_NAME,
SUM(C_BIRTH_DAY)
OVER (ORDER BY C_BIRTH_DAY
RANGE BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS MAX1
FROM WINDOW_TABLE;
Ergebnis¶
C_NAME |
MAX1 |
|---|---|
USA |
- |
USA |
1 |
Costa Rica |
3 |
USA |
6 |
Polen |
6 |
USA |
14 |
Costa Rica |
19 |
Polen |
26 |
Kanada |
35 |
Costa Rica |
35 |
Kanada |
55 |
Snowflake:¶
Code¶
Ergebnis¶
C_NAME |
MAX1 |
|---|---|
USA |
- |
USA |
1 |
Costa Rica |
3 |
USA |
6 |
Polen |
10 |
USA |
14 |
Costa Rica |
19 |
Polen |
26 |
Kanada |
35 |
Costa Rica |
45 |
Kanada |
55 |
Best Practices¶
Stellen Sie eine deterministische Reihenfolge für Zeilen sicher, um deterministische Ausgaben bei der Ausführung in Snowflake zu gewährleisten.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0023¶
Es wird eine globale temporäre Tabelle referenziert.
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-FDM-0024¶
Die Funktion wird derzeit nicht von Snowflake Scripting unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter [SSC-EWI-0058.
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 des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0025¶
Unexpected end of statement
Beschreibung¶
This message is reported when SnowConvert AI encounters an unexpected end of statement during conversion. This typically occurs when the parser reaches the end of the source code while still expecting additional tokens to complete a statement. The EWI includes the line number of the original source code where the issue was detected.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Check the specified line in the original source code for missing semicolons or incomplete statements.
Ensure all statements are properly terminated.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0026¶
Typ, der von Snowflake nicht unterstützt wird.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-0028.
Beschreibung¶
Diese Nachricht 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-FDM-0027¶
Removed next statement, not applicable in Snowflake.
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Meldung wird angezeigt, wenn eine bestimmte Anweisung in Snowflake nicht anwendbar ist. Dies bedeutet, dass es kein Snowflake-Äquivalent für diese Anweisung gibt und sie nicht mehr benötigt wird. Aus diesem Grund wird sie aus dem Quellcode entfernt. Allerdings behält SnowConvert AI die ursprüngliche Anweisung als Teil des Kommentars am Ende bei.
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-FDM-0028¶
Nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unterSSC-EWI-0021
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¶
If this error happens, it is because there is no Snowflake equivalent for the node that is being converted.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0029¶
Die benutzerdefinierte Funktion wurde in eine Snowflake-Prozedur umgewandelt.
Warnung
Diese EWI ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-0068.
Schweregrad¶
Niedrig
Beschreibung¶
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¶
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-FDM-0030¶
Ungültige Zeichen für neuen Bezeichner ersetzt
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 des Endbenutzers erforderlich.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0031¶
Erforderliche Parameter für dynamische Tabelle standardmäßig festgelegt
Beschreibung¶
Materialisierte Ansichten (und Join-Indizes im Fall von Teradata) werden in dynamische Tabellen in Snowflake migriert. Für dynamische Tabellen müssen zwei Parameter festgelegt werden: TARGET_LAG und WAREHOUSE.
Wenn diese Parameter nicht in den -Konfigurationsoptionen eingestellt sind, werden sie bei der Konvertierung standardmäßig eingestellt.
Lesen Sie hier mehr über die erforderlichen Parameter für dynamische Tabellen.
Beispielcode¶
Eingabecode (Oracle):¶
Generierter Code:¶
Best Practices¶
Konfigurieren Sie die erforderlichen Parameter für die dynamische Tabelle entsprechend Ihren Anforderungen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0032¶
Parameter ist kein literaler Wert, die Transformation konnte nicht vollständig angewendet werden
Beschreibung¶
Für mehrere Transformationen: SnowConvert AI erfordert manchmal, den Inhalt eines Parameters zu überprüfen. Dies ist nur möglich, wenn der Parameter ein Literalwert ist.
Diese Meldung wird generiert, um den Benutzer darüber zu warnen, dass SnowConvert AI den Wert des Parameters nicht abrufen konnte, da er per Referenz übergeben wurde. Dadurch konnte die Transformation der Funktion oder Anweisung nicht abgeschlossen werden.
Beispielcode¶
Eingabecode (Redshift):¶
Generierter Code:¶
Best Practices¶
Versuchen Sie, den angegebenen Parameter als Literalwert anzugeben.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0033¶
Die Beispielklausel verhält sich in Snowflake anders.
Beschreibung¶
This message is generated to showcase the functional difference while sampling rows in Snowflake. The differences are related to the quantity of rows retrieved. When in Teradata there is the same quantity of rows in the non-deterministic output, it may change in Snowflake and return a few rows more or less. This is because a probability related topic and it is expected to behaves like that in Snowflake.
If there is a requirement of retrieving the same values and the same quantity, a deterministic output, it is recommended to use a seed in the Snowflake query.
Beispielcode¶
Eingabecode (Teradata):¶
Generierter Code:¶
Best Practices¶
Versuchen Sie, den Startwert-Teil der Abfrage zu verwenden, wenn diese eine deterministische Ausgabe erfordert.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0034¶
Struktur, die in VARIANT konvertiert wurde. Einige der Verwendungen können funktionale Unterschiede aufweisen.
Beschreibung¶
Snowflake bietet keine native Unterstützung des Datentyps STRUCT. SnowConvert AI konvertiert STRUCT automatisch zu VARIANT. Bei Verwendung in INSERT-Anweisungen werden STRUCT-Daten mit OBJECT_CONSTRUCT verarbeitet. Beachten Sie, dass diese Konvertierung in einigen Anwendungsfällen zu funktionalen Unterschieden führen kann.
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-FDM-0035¶
Die INFER_SCHEMA-Funktion erfordert einen Dateipfad ohne Platzhalter, um die Tabellenvorlage zu generieren und den FILE_PATH-Platzhalter damit zu ersetzen.
Beschreibung¶
Die Funktion INFER_SCHEMA-wird in Snowflake verwendet, um die Spaltendefinition einer Tabelle basierend auf der Struktur einer Datei zu generieren. Sie erfordert einen LOCATION-Parameter, der den Pfad zu einer Datei oder einem Ordner angibt, aus dem die Tabellenspalten erstellt werden. Dieser Pfad unterstützt jedoch keine regulären Ausdrücke, das heißt, das Platzhalterzeichen * wird nicht unterstützt.
Wenn die Tabelle keine Spalten enthält, prüft SnowConvert AI alle URIS, um eine zu finden, die keine Platzhalter verwendet, und nutzt diese in der INFER_SCHEMA-Funktion. Wenn keine URI diesen Kriterien entspricht, werden diese FDM und ein FILE_PATH-Platzhalter generiert. Der Platzhalter muss anschließend durch den Pfad einer der von der externen Tabelle referenzierten Dateien ersetzt werden, um die Tabellenspalten zu erzeugen.
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-FDM-0036¶
Das transformierte Zahlen-/Datumsformat kann in Snowflake ein anderes Verhalten aufweisen.
Beschreibung¶
Die in Snowflake umgewandelten numerischen Formate verwenden feste Positionsformate. Das transformierte Format kann fehlschlagen und eine andere Ausgabe generieren, wenn der ganzzahlige Teil der Zahl mehr Ziffern enthält als Ziffernpositionen im Format. Alle Ziffern werden als # ausgegeben, um einen Überlauf anzuzeigen.
Bemerkung
For SQL Server migrations: If you are converting SQL Server code that uses custom single-character date format specifiers (for example, %y, %M, %d, %H, %h, %m, %s) or advanced numeric format specifiers (for example, P, N, %), consider enabling the --enableFormatSpecifiersPreview preview flag. This flag enables access to new Snowflake format specifiers that provide more accurate translations of these formats. See Preview Features Settings for more details.
Note: This requires requesting preview access in your Snowflake account through this form.
Codebeispiel¶
Eingabecode:¶
SQL Server¶
Generierter Code:¶
Snowflake¶
Ergebnis¶
Best Practices¶
Wenn die numerische Ziffer nicht in das Format passt, aktualisieren Sie das Format, indem Sie weitere Ziffern basierend auf den möglichen Eingabedatenwerten hinzufügen.
SSC-FDM-0037¶
Statistikfunktion wird in Snowflake nicht benötigt.
Beschreibung¶
DROP, COLLECT oder HELP-Statistiken werden in Snowflake nicht benötigt. Snowflake sammelt bereits Statistiken, die zur automatischen Abfrageoptimierung verwendet werden.
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-FDM-0038¶
Die Mikropartitionierung wird automatisch für alle Snowflake-Tabellen durchgeführt.
Beschreibung¶
Diese Meldung wird der CREATE TABLE-Anweisung hinzugefügt, wenn eine PARTITION BY-Klausel vorhanden ist. Die PARTITION BY-Klausel, die die Tabellenpartitionierung in einigen Datenbanken steuert, wird in Snowflake nicht unterstützt.
In Snowflake werden alle Tabellen automatisch in Mikropartitionen unterteilt, d. h. zusammenhängende Speichereinheiten reichen von 50 MB bis 500 MB unkomprimierter Daten. Diese Architektur ermöglicht ein hochgranulares Verkürzen großer Tabellen, die aus Millionen von Mikropartitionen bestehen können.
Snowflake speichert automatisch Metadaten für jede Mikropartition, einschließlich:
Wertebereich jeder Spalte in der Mikropartition.
Anzahl unterschiedlicher Werte.
Zusätzliche Eigenschaften, die sowohl für die Optimierung als auch für die effiziente Abfrageverarbeitung verwendet werden.
Tabellen werden transparent in der Reihenfolge partitioniert, in der die Daten eingefügt oder geladen werden. Weitere Informationen dazu finden Sie unter Vorteile der Mikropartitionierung.
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-FDM-0039¶
SQLWARNING may not be captured as an exception in Snowflake.
Beschreibung¶
In source databases such as Teradata, SQLWARNING can be caught in exception handlers. Snowflake’s exception handling may not capture SQLWARNING in the same way. When a handler is configured to catch SQLWARNING, SnowConvert AI translates it, but the behavior in Snowflake may differ.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Review exception handling logic that catches SQLWARNING; the handler may not be invoked in Snowflake for the same conditions.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0040¶
REGEXP_SUBSTR / REGEXP_INSTR function may fail if regex argument is not POSIX
Beschreibung¶
When translating regex-based functions (such as REGEXP_SUBSTR, REGEXP_INSTR) from source dialects to Snowflake, the regex argument must be valid POSIX syntax. Source dialects may support extended regex features that Snowflake does not. If the regex pattern uses non-POSIX syntax, the function may fail at runtime or produce different results.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Ensure regex patterns use POSIX-compliant syntax.
Test regex functions with sample data after conversion.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-0041¶
Default parameters were reordered to the end of the parameter list.
Beschreibung¶
Snowflake requires all parameters with default values to appear after all non-default parameters. When SnowConvert AI detects a procedure whose default parameters are not at the end of the parameter list, it automatically reorders them. Code not provided to SnowConvert AI that uses positional arguments may need to be updated to match the new parameter order.
Bemerkung
This FDM replaces the deprecated SSC-EWI-0002, which previously only warned about the issue without performing the reorder.
Beispielcode¶
Input Code (SQL Server):¶
Generated Code (SQL Server):¶
Eingabecode (Oracle):¶
Generated Code (Oracle):¶
Positional Call Site Conversion¶
When callers use positional arguments and the parameters have been reordered, SnowConvert AI automatically converts them to named arguments:
Best Practices¶
Review all callers of the affected procedure. If positional arguments are used, update them to match the new parameter order or convert them to named arguments.
Consider using named arguments (e.g.,
param1 => value) instead of positional arguments to avoid issues with parameter ordering.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.