SnowConvert AI – Funktionale Unterschiede bei Oracle¶
SSC-FDM-OR0001¶
Bemerkung
Diese FDM wurde für eine alte Version von Oracle SnowConvert AI hinzugefügt. Derzeit ist sie veraltet.
Beschreibung¶
This error is related to the Assessment report file. It appears when an error occurs while writing the assessment details report file.
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0002¶
Der Wert für den Start der Sequenz überschreitet den von Snowflake zulässigen Maximalwert.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0068.
Beschreibung¶
Dieser Fehler tritt auf, wenn der START WITH-Anweisungswert den von Snowflake zulässigen Höchstwert überschreitet. Snowflake hat Folgendes zum Startwert angegeben: Gibt den ersten Wert an, der von der Sequenz zurückgegeben wird. Unterstützte Werte sind alle Werte, die durch die Komplementärganzzahl eines 64-Bit-Zweiers dargestellt werden können (von -2^63 to 2^63-1). Gemäß dem zuvor erwähnten ist der zulässige Höchstwert also 9223372036854775807 für positive Zahlen und 9223372036854775808 für negative Zahlen.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Es kann empfohlen werden, einfach die Sequenz zurückzusetzen und auch die Verwendung zu ändern. NOTE: Die Zielspalte muss genügend Platz haben, um diesen Wert aufzunehmen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0003¶
Suchklausel wurde aus der With-Element-Anweisung entfernt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0038.
Beschreibung¶
Die search_clause wird verwendet, um die Reihenfolge festzulegen, in der Zeilen in einer SELECT-Anweisung verarbeitet werden. Diese Funktion ermöglicht ein individuelles Durchlaufen der Daten und stellt sicher, dass die Ergebnisse in einer bestimmten Sequenz auf der Grundlage der angegebenen Kriterien zurückgegeben werden. Es ist jedoch wichtig zu beachten, dass dieses Verhalten, das durch die search_clause gekennzeichnet ist, in Snowflake nicht unterstützt wird.
In Datenbanken wie Oracle wird die search_clause häufig in Verbindung mit rekursiven Abfragen oder Common Table Expressions (CTEs) verwendet, um die Reihenfolge zu beeinflussen, in der hierarchische Daten durchsucht werden. Durch die Angabe einer bestimmten Spalte oder einer Gruppe von Spalten in der search_clause können Sie die Tiefensuche- oder Breitensuche-Traversal der Hierarchie steuern und damit die Reihenfolge beeinflussen, in der die Zeilen verarbeitet werden.
In Snowflake wird eine search_clause-Meldung generiert und die search_clause anschließend entfernt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Empfehlung¶
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-FDM-OR0004¶
Das Schlüsselwort für Elemente wurde aus der Klausel „order by“ entfernt, da Snowflake es nicht unterstützt.
Beschreibung¶
In Oracle kann die ORDER BY SIBLINGS-Klausel in hierarchischen Abfragen verwendet werden, um die durch die Hierarchie vorgegebene Reihenfolge der Daten beizubehalten, während gleichzeitig eine Neuordnung der Werte vorgenommen wird, die Geschwister in derselben Hierarchie sind. Dies wird von Snowflake nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Während die genau gleiche Reihenfolge, die mit der SIBLINGS-Klausel erreicht wurde, möglicherweise nicht zugänglich ist, gibt es einige Alternativen, um ein ähnliches Ergebnis zu erzielen.
Betten Sie die Abfrage in eine äußere Abfrage ein, die die gewünschte Sortierung mit
ORDER BYanwendet.Erstellen Sie eine CTE mit der hierarchischen Abfrage unter Verwendung von
CONNECT BYund verweisen Sie in einer nachfolgenden Abfrage auf die CTE, umORDER BYfür die Sortierung von Geschwisterzeilen (Zeilen auf derselben Ebene) anzuwenden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0005¶
Synonyme werden in Snowflake nicht unterstützt, aber Verweise auf dieses Synonym wurden durch den ursprünglichen Objektnamen geändert.
Beschreibung¶
Synonyme werden in Snowflake nicht unterstützt. Die Synonyme werden durch den ursprünglichen Namen ersetzt.
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-FDM-OR0006¶
Einschränkungsstatus aus Nicht-Null-Inline-Einschränkung entfernt.
Beschreibung¶
Diese Warnung tritt auf, wenn die Nicht-Null-Spalteneinschränkung einen der folgenden Oracle-Einschränkungsstatus als Teil der Inline-Definition der Spalte enthält:
Snowflake unterstützt diese Status nicht. Daher werden sie aus der NOT NULL-Inline-Einschränkung entfernt.
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-FDM-OR0007¶
Snowflake unterstützt nicht die Versionierung von Objekten. Entwickler sollten alternative Ansätze für die Code-Versionierung in Betracht ziehen.
Beschreibung¶
Snowflake doesn’t support the versioning of objects. The modifier EDITIONABLE or NONEDITIONABLE is removed in the converted code and a warning is added.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Der Benutzer sollte alternative Ansätze für die Code-Versionierung in Betracht ziehen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0008¶
Festlegen des Quantifizierers wird nicht unterstützt
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0071.
Beschreibung¶
Der Quantifizierer „all“ wird in Snowflake nicht unterstützt. Der Modifikator wird aus dem Quellcode entfernt und eine Warnung wird hinzugefügt. Der resultierende Code kann sich unerwartet verhalten.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
In Snowflake entfernen die Vorgänge INTERSECT und MINUS/EXCEPT Duplikate immer.
Best Practices¶
Prüfen Sie Alternativen in Snowflake, um die Funktionalität des „All“-Quantifizierers zu emulieren.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0009¶
Implizite SQL-Cursorwerte können sich unterscheiden.
Beschreibung¶
Bemerkung
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Diese EWI wird angezeigt, wenn ein impliziter SQL-Cursorwert verwendet wird. Dies liegt daran, dass Oracle je nach Typ der Abfrage unterschiedliche Werte verwendet. Beispiel: für SELECT der Wert, der zum Einstellen von verwendet wird SQL implizite Cursorwerte sind die Anzahl der von der Abfrage zurückgegebenen Zeilen. Wenn der Abfragetyp UPDATE/CREATE/DELETE/INSERT ist, wird die Anzahl der betroffenen Zeilen als Wert verwendet; dies ist der Hauptgrund, warum diese EWI angezeigt wird.
Beispielcode¶
Eingabecode:¶
-- Additional Params: -t JavaScript
--Transformation for implicit cursor
CREATE OR REPLACE PROCEDURE SP_SAMPLE AUTHID DEFINER IS
stmt_no POSITIVE;
BEGIN
IF SQL%ROWCOUNT = 0 THEN
EXIT ;
END IF;
IF SQL%ISOPEN THEN
EXIT ;
END IF;
IF SQL%FOUND THEN
EXIT ;
END IF;
IF SQL%NOTFOUND THEN
EXIT ;
END IF;
END;
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-FDM-OR0010¶
NUMBER-Datentyp mit geringerer Genauigkeit wurde erhöht, um an die Skalierung anzupassen.
Beschreibung¶
Der NUMBER-Datentyp speichert Fest- und Gleitkommazahlen. Diese Daten sind zwischen verschiedenen Betriebssystemen portierbar, auf denen die Oracle-Datenbank ausgeführt wird. Der NUMBER-Datentyp wird für die meisten Fälle empfohlen, in denen Sie numerische Daten speichern müssen. Die -Syntax lautet wie folgt: NUMBER (X, Y) wobei X die Genauigkeit und Y die Skalierung ist.
Beispiel: NUMBER(5, 3) ist eine Zahl mit 2 Ziffern vor der Dezimalzahl und 3 Ziffern nach der Dezimalzahl, genau wie die folgende:
Weitere wichtige Hinweise:
Scale Y gibt die maximale Anzahl von Stellen rechts vom Dezimalpunkt an.
Scale-Precision YX gibt die Mindestanzahl der Nullen an, die nach dem Dezimalpunkt vorhanden sind.
Diese Meldung wird angezeigt, wenn ein NUMBER-Datentyp hat eine geringere Genauigkeit als seine Skalierung hat. Snowflake unterstützt dieses Feature nicht und diese Meldung wird verwendet, um anzuzeigen, dass der Wert der Genauigkeit erhöht wurde, um die Äquivalenz zu erhalten.
Hinweis
Bitte bedenken Sie, dass es Fälle gibt, in denen dieses Problem entweder zusammen mit anderen bekannten Transformationen auftreten kann oder gar nicht auftritt. Zum Beispiel: In Fällen, in denen die Skalierung durch neunzehn ersetzt wird und die frühere Präzision größer als neunzehn ist, wird diese Meldung NOT angezeigt.
Beispielcode¶
Eingabecode:¶
Abfragen¶
Ergebnis¶
Generierter Code:¶
Abfragen¶
Ergebnis¶
Best Practices¶
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0011¶
Das boolesche Argument wurde entfernt, da die Option „zum Stapel hinzufügen“ nicht unterstützt wird.
Beschreibung¶
This warning is displayed when the third optional argument of RAISE_APPLICATION_ERROR was removed during the migration. This functionality is not supported by Snowflake.
Beispielcode¶
Eingabecode:¶
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-OR0012¶
COMMIT- und ROLLBACK-Anweisungen erfordern ein entsprechendes Setup, um wie vorgesehen ausgeführt zu werden.
Beschreibung¶
COMMIT- und ROLLBACK-Anweisungen erfordern ein entsprechendes Setup, um in Snowflake wie vorgesehen ausgeführt zu werden. Die folgende Anweisung muss in Snowflake ausgeführt werden, um die korrekte Funktionalität dieser Anweisungen zu simulieren:
Beispielcode¶
Eingabecode¶
Generierter Code¶
Best Practices¶
Führen Sie die im Abschnitt „Beschreibung“ angegebene Abfrage aus, bevor Sie mit der Ausführung Ihres Codes beginnen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0013¶
The cycle clause is not supported in Snowflake.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0039.
Beschreibung¶
Diese Nachricht wird angezeigt, wenn SnowConvert AI eine Abfrage mit einer CYCLE-Klausel findet. Diese wird in Snowflake nicht unterstützt, daher wird sie aus dem Code auskommentiert.
Diese Klausel markiert, wenn es eine Rekursion gibt.
Weitere Informationen zur Klausel-Funktion finden Sie unter documentation.
Beispielcode¶
CONNECT BY¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Wenn in der Datenhierarchie Zyklen vorhanden sind, können Sie diesen [Artikel] (https://docs.snowflake.com/en/user-guide/queries-cte#cause-1-cyclic-data-hierarchy) lesen, um damit umzugehen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0014¶
Datentypen des Fremdschlüssels stimmen nicht überein.
Beschreibung¶
Dieser Fehler tritt auf, wenn ein Fremdschlüssel-Datentyp nicht übereinstimmt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Bemerkung
Beachten Sie Folgendes: „MyDb“.“MyTable1“.COL1 und „MyDb“.“MyTable“.COL1 sind von unterschiedlichem Typ und es wird ERROR angezeigt.
Best Practices¶
Wenn in der Datenhierarchie Zyklen vorhanden sind, können Sie diesen [Artikel] (https://docs.snowflake.com/en/user-guide/queries-cte#cause-1-cyclic-data-hierarchy) lesen, um damit umzugehen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0015¶
Die von LENGTHB nach OCTET_LENGTH transformierten Ergebnisse können aufgrund des Speichermanagements von DBMS variieren.
Beschreibung¶
Dieses Problem tritt auf, wenn ein Aufruf der Funktion [LENGTHB] (https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/LENGTH.html#GUID-8F97F652-5AE8-4457-AFD7-7A6F25551E0C) erfolgt, die die Größe einer Spalte oder eines Literals in Bytes zurückgibt. Diese Funktion wird in die Snowflake-Funktion OCTET_LENGTH umgewandelt.
Wenn der Parameter der Funktion eine Spalte ist, ist das Ergebnis die Größe des Spaltenwertes. Diese Größe kann von Oracle zu Snowflake variieren. Der Typ der Spalte spielt eine wichtige Rolle bei dem von der Funktion zurückgegebenen Ergebnis.
Beispielcode¶
Eingabecode:¶
Abfragen¶
Ergebnis¶
Generierter Code:¶
Abfragen¶
CREATE OR REPLACE TABLE char_table
(
char_column1 CHAR(15)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
;
INSERT INTO char_table
VALUES ('Hello world');
SELECT char_column1,
OCTET_LENGTH(char_column1) /*** SSC-FDM-OR0015 - LENGTHB TRANSFORMED TO OCTET_LENGTH RESULTS MAY VARY DUE TO MEMORY MANAGEMENT OF DBMS ***/, LENGTH('Hello world') FROM
char_table;
Ergebnis¶
Best Practices¶
Überprüfen Sie manuell die verwendeten Datentypen.
Überprüfen Sie die Codierung der verwendeten Spalten, da OCTET_LENGTH größere Größen zurückgeben kann, wenn die Zeichenfolge Unicode-Codepunkte enthält.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0016¶
COMMIT- und ROLLBACK -Optionen wurden entfernt, da Snowflake sie nicht benötigt
Beschreibung¶
COMMIT- und ROLLBACK-Anweisungsoptionen werden entfernt, da Snowflake sie nicht mehr benötigt.
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-OR0017¶
DBTimezone wurde entfernt, um den Standardwert des Zeitstempels zu verwenden.
Beschreibung¶
DBTIMEZONE-Schlüsselwort wurde aus dem Ausdruck AT TIME ZONE entfernt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
You may need to set the TIMEZONE session parameter to get equal results.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0018¶
Merge statement may not work as expected
Beschreibung¶
Diese Warnung wird verwendet, um darauf hinzuweisen, dass die Snowflake-Merge-Anweisung möglicherweise einige Funktionsunterschiede im Vergleich zu Oracle aufweist.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Wenn Sie andere Ergebnisse erhalten als Oracle, müssen Sie Folgendes beachten:
Weitere Informationen zur Priorisierung der Ausführungsreihenfolge finden Sie unter Link.
Führen Sie die ausgelassenen DML-Anweisungen außerhalb der Merge-Anweisung aus (vorher oder nachher, je nach Bedarf).
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0019¶
Die Ausgabe des Fensterrahmens ist möglicherweise nicht gleichwertig
Beschreibung¶
Diese Warnung wird hinzugefügt, wenn sich eine ROWS-Fensterrahmeneinheit im Quellcode befindet.
ROWS verwendet physische Zeilennummern für seine Berechnungen, die sich nach der Migration auf die Zielplattform unterscheiden können. Manuelles Hinzufügen von zusätzlichen ORDER BY-Klauseln können helfen, dieses Problem zu mindern oder zu entfernen.
Bemerkung
Beachten Sie, wie in der [Oracle-Dokumentation] (https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/Analytic-Functions.html) angegeben:\ „Der von einer analytischen Funktion mit einem logischen Offset zurückgegebene Wert ist immer deterministisch.“ Der von einer Analysefunktion mit einem physischen Offset zurückgegebene Wert kann jedoch nicht deterministische Ergebnisse liefern, es sei denn, der Sortierungsausdruck führt zu einer eindeutigen Sortierung. Möglicherweise müssen Sie mehrere Spalten in order_by_clause angeben, um diese eindeutige Reihenfolge zu erreichen.
Es wird daher empfohlen, vorab zu prüfen, ob die Funktion deterministische Ergebnisse liefert, um Probleme zu vermeiden.
Beispielcode ¶
Eingabecode:¶
Generierter Code:¶
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-OR0020¶
PRAGMA EXCEPTION_INIT wird nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0051.
Beschreibung¶
Diese Warnung wird hinzugefügt, wenn die PRAGMA EXCEPTION_INIT-Funktion innerhalb einer Prozedur aufgerufen wird. Name der Exception und SQL-Code der Exceptions werden in der RAISE-Funktion festgelegt. Bei der Konvertierung in Snowflake Scripting wird der SQL-Code wird der Ausnahmedeklaration hinzugefügt, jedoch können einige Codewerte in Snowflake Scripting ungültig sein.
Beispielcode ¶
Eingabecode:¶
Generierter Code:¶
Snowflake Scripting¶
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-OR0021¶
„For Loop With Float Number As Bound“ funktioniert möglicherweise nicht korrekt im Snowflake Scripting.
Beschreibung¶
Snowflake Scripting erlaubt nur einen INTEGER oder einen Ausdruck, der zu einem INTEGER ausgewertet wird, als Grenze für die FOR LOOP Bedingung. Gleitende Zahlen werden auf- oder abgerundet und verändern die ursprüngliche Begrenzung.
Die untere Grenze wird auf die nächste ganze Zahl gerundet. Beispiel:
3.1 -> 3, 6.7 -> 7, 4.5 -> 5
Die obere Grenze wird jedoch auf die nächste untere Ganzzahl gekürzt. Beispiel:
3.1 -> 3, 6.7 -> 6, 4.5 -> 4
Snowflake Scripting¶
Ergebnis¶
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Schreiben Sie die FOR LOOP-Bedingung neu, sodass Ganzzahlen verwendet werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0022¶
„For Look With Multiple Conditions“ wird derzeit von Snowflake Scripting nicht unterstützt. Es wird nur die erste Bedingung verwendet
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0100.
Beschreibung¶
Oracle erlaubt mehrere Bedingungen in einem einzigen FOR LOOP. Snowflake Scripting erlaubt jedoch nur eine Bedingung pro FOR LOOP. Nur die erste Bedingung wird migriert und die anderen werden bei der Transformation ignoriert.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Trennen Sie
FOR LOOPin verschiedene Schleifen oder schreiben Sie die Bedingung neu.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0023¶
Der Ausnahmecode überschreitet die Snowflake Scripting-Beschränkung
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0099.
Beschreibung¶
Diese Warnung wird angezeigt, wenn ein Fehlercode bei der Deklaration einer Ausnahme die Anzahl der Snowflake Scripting-Ausnahmen überschreitet. Die Zahl muss eine ganze Zahl (Integer) zwischen -20.000 und -20.999 sein.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
CREATE OR REPLACE PROCEDURE procedure_exception ()
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
DECLARE
--** SSC-FDM-OR0023 - EXCEPTION CODE NUMBER EXCEEDS SNOWFLAKE SCRIPTING LIMITS **
my_exception EXCEPTION;
--** SSC-FDM-OR0020 - PRAGMA EXCEPTION_INIT IS NOT SUPPORTED **
PRAGMA EXCEPTION_INIT ( my_exception, -19000 );
BEGIN
NULL;
END;
$$;
Best Practices¶
Prüfen Sie, ob der Ausnahmecode zwischen den von Snowflake Scripting zulässigen Limits liegt, falls Sie ihn nicht durch eine andere verfügbare Ausnahmenummer ändern.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0024¶
Spalten aus Ausdruck nicht gefunden
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0002.
Beschreibung¶
Dieser Fehler tritt auf, wenn die Spalten eines Auswahlausdrucks nicht aufgelöst werden konnten, normalerweise, wenn er sich entweder auf einen Typzugriff bezieht, dessen Referenz nicht aufgelöst wurde, oder auf eine Spalte mit einem benutzerdefinierten Typ, dessen Spalten nicht definiert wurden. wie z. B. ein Typ ohne Text oder ein Objekttyp ohne Spalten.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie, ob die Typdefinition, auf die verwiesen wurde, Spalten enthält.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0025¶
„Not Null“-Einschränkung wird in Snowflake-Prozeduren nicht unterstützt
Beschreibung¶
Die Oracle-Variablendeklaration mit der Einschränkung NOT NULL wird in Variablendeklarationen innerhalb von Prozeduren in Snowflake nicht unterstützt.
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-OR0026¶
Typ wird bei Umwandlungsoperationen nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0045.
Beschreibung¶
Dieser Fehler tritt auf, wenn ein Typ in einer Umwandlungsoperation nicht unterstützt wird.
Beispiel¶
Eingabecode:¶
Generierter Code:¶
Zugehörige EWIs¶
SSC-EWI-OR0011: Der Formatparameter wird nicht unterstützt.
Best Practices¶
Die Umwandlung wird in eine benutzerdefinierte Funktion konvertiert (UDF/Stub), sodass Sie es ändern können, um das Verhalten der Umwandlungsfunktion zu emulieren.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0027¶
DEFAULT ON CONVERSION ERROR wird nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0029.
Beschreibung¶
Standard bei Konvertierungsfehlern, die in Snowflake nicht unterstützt werden
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Sie können UDF erstellen, um das Verhalten des
DEFAULT-WertsON CONVERSION ERRORzu emulieren.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0028¶
SYS_CONTEXT-Parameter wird nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0031.
Beschreibung¶
Dieser Fehler tritt auf, wenn ein SYS_CONTEXT-Funktionsparameter nicht unterstützt wird.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Die Funktion wird in eine benutzerdefinierte Funktion(Stub) umgewandelt, sodass Sie sie anpassen können, um das Verhalten des SYS_-Parameters zu emulieren.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0029¶
Diese ALTER SESSION-Konfiguration wird in Snowflake nicht unterstützt.
Beschreibung¶
Eine Klausel oder Konfiguration der ALTER SESSION-Anweisung wird derzeit nicht unterstützt.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Für Sitzungsvariablen können Sie die Snowflake-Dokumentation überprüfen, um eine Entsprechung zu finden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0030¶
ROWID-Pseudospalte wird in Snowflake nicht unterstützt
Beschreibung¶
When ROWID is used as a pseudocolumn in a query it is transformed to null to avoid runtime errors and the EWI is added. There is still no transformation to emulate the functionality.
Beispielcode¶
Oracle-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-OR0031¶
Die Fehlerprotokollierungsklausel in DML-Anweisungen wird von Snowflake nicht unterstützt
Beschreibung¶
Dieser Fehler weist darauf hin, dass die error_logging-Klausel in Oracles DML-Anweisungen von Snowflakes DML-Anweisungen nicht unterstützt wird.
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-FDM-OR0032¶
StandardHash-Funktion mit einem Nicht-String-Eingabeparameter erzeugt in Snowflake ein anderes Ergebnis.
Beschreibung¶
Diese Warnung wird verwendet, wenn die STANDARD_HASH-Funktion in Oracle mit einem Nicht-String-Eingabeparameter in Snowflake ein anderes Ergebnis erzeugt.
Bemerkung
When the algorithm parameter is a dynamic expression (not a string literal), the function cannot be converted and SSC-EWI-OR0138 is emitted instead.
Beispielcode¶
Eingabecode:¶
Abfrage¶
Ergebnis¶
Generierter Code:¶
Abfrage¶
SELECT
--** SSC-FDM-OR0032 - STANDARD HASH FUNCTION WITH INPUT NON-STRING PARAMETER GENERATES A DIFFERENT RESULT IN SNOWFLAKE **
SHA1(1+1)
FROM DUAL;
Ergebnis¶
SHA1(1+1) |
--------------------------------------------------+
da4b9237bacccdf19c0760cab7aec4a8359010b0 |
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-FDM-OR0033¶
DBMS_RANDOM.VALUE Die Genauigkeit des integrierten Pakets ist in Snowflake geringer
Beschreibung
Diese Meldung wird angezeigt, wenn SnowConvert AI einen DBMS_RANDOM.VALUE migriert. Oracle-Builtin-Paketfunktionn. Diese Warnung weist darauf hin, dass die UDF zur Emulation der Funktionalität hinzugefügt wurde und eine geringere Präzision besitzt als die ursprüngliche Funktion.
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-FDM-OR0034¶
Sequenzstartwert mit ‚LIMIT VALUE‘ wird von Snowflake nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0001.
Beschreibung¶
Dieser Fehler tritt auf, wenn die START WITH-Anweisung LIMIT VALUE ist.
In Oracle this clause is used only in ALTER TABLE
STARTWITHLIMIT VALUEist spezifisch füridentity_optionsund kann nur mitALTERTABLEMODIFYverwendet werden. Wenn SieSTARTWITHLIMIT VALUEangeben, sperrt die Oracle Datenbank die Tabelle und findet den maximalen Wert der Identitätsspalte in der Tabelle (für zunehmende Sequenzen) oder den minimalen Wert der Identitätsspalte (für abnehmende Sequenzen) und weist den Wert als Höchstwert des Sequenzgenerators zu. Der nächste vom Sequenzgenerator zurückgegebene Wert entspricht dem High-Water-Mark +INCREMENTBYIntegerbei aufsteigenden Sequenzen bzw. dem High-Water-Mark -INCREMENTBYIntegerbei absteigenden Sequenzen.
ALTER TABLE ORACLE¶
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-FDM-OR0035¶
DBMS_OUTPUT.PUTLINE UDF-Implementierung überprüfen
Beschreibung¶
Diese Meldung wird angezeigt, wenn SnowConvert AI eine DBMS_OUTPUT.PUT_LINE migriert. In Oracle integrierte Paketfunktion#x6E;. Diese Warnung weist Sie darauf hin, dass Sie die hinzugefügte UD überprüfen sollten.F.
Diese EWI weist den Benutzer darauf hin, die DBMS_OUTPUT.PUT_LINE_UDF-Implementierung zu überprüfen, in der die folgenden Informationen zu finden sind:
Warnung
Die Leistung kann durch Verwendung dieser UDF beeinträchtigt werden. Wenn Sie mit der Protokollierung von Informationen beginnen möchten, sollten Sie die Implementierung auskommentieren. Beachten Sie, dass hierbei eine temporäre Tabelle verwendet wird. Wenn Sie möchten, dass die Daten nach dem Ende einer Sitzung erhalten bleiben, entfernen Sie bitte TEMPORARY aus der CREATE TABLE.
Sobald die Aufrufe von DBMS_OUTPUT.PUT_LINE_UDF erfolgt sind, verwenden Sie bitte die folgende Abfrage, um alle Logs auszulesen: SELECT * FROM DBMS_OUTPUT.DBMS_OUTPUT_LOG.
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-FDM-OR0036¶
Unnötige integrierte Paketparameter
Beschreibung¶
Diese Meldung wird angezeigt, wenn SnowConvert AI eine Oracle-Builtin-Paketprozedur oder -funktion migriert und dabei einige der Argumente aus dem Aufruf entfernt werden.
Einige der ursprünglichen Parameter haben möglicherweise keine Entsprechung in Snowflake oder werden in der transformierten Version nicht benötigt. Diese Parameter werden aus dem erzeugten Code entfernt, jedoch in der EWI-Nachricht beibehalten, sodass der Benutzer sie weiterhin nachverfolgen kann.
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-OR0037¶
Die verwendete Syntax in der „Select“-Anweisung wird in Snowflake nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0004.
Bemerkung
Einige Teile des Ausgabecodes werden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Warnung tritt auf, wenn eine Klausel in einer Auswahl von Snowflake nicht unterstützt wird. Folgende Klauseln werden nicht unterstützt:
CONTAINERS
SUBQUERY-RESTRICTION
HIERARCHIES
EXTERNAL-MODIFY
DBLINK
SHARDS
PARTITION
SUBPARTITION
HIERARCHICAL
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-FDM-OR0038¶
Das boolesche Cursorattribut wird nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0128.
Beschreibung¶
Diese Meldung weist darauf hin, dass ein boolesches Cursorattribut in SnowScript nicht unterstützt wird oder dass es keine Transformation gibt, die seine Funktionalität in SnowScript emuliert. Die folgende Tabelle zeigt die booleschen Cursorattribute, die emuliert werden können:
Boolesches cursor-Attribut |
Status |
|---|---|
|
Kann emuliert werden |
|
Kann emuliert werden |
|
Nicht unterstützt |
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-OR0039¶
Erstellungstyp wird in Snowflake nicht unterstützt
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0007.
Beschreibung¶
Diese Meldung wird hinzugefügt, wenn eine von Snowflake nicht unterstützte „Create Type“-Anweisung verwendet 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-OR0040¶
Numerische Zeichen können in Snowflake nicht geändert werden. Das Dezimaltrennzeichen in Snowflake ist das Punktzeichen.
Beschreibung¶
Numerische Zeichen können in Snowflake nicht geändert werden. Das Dezimaltrennzeichen in Snowflake ist das Punktzeichen. Die ALTER-Sitzungsanweisung wird kommentiert und eine Warnung hinzugefügt.
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-OR0041¶
Integriertes Paket wird nicht unterstützt.
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0076.
Beschreibung¶
Die Übersetzung von integrierten Paketen wird derzeit nicht unterstützt.
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-OR0042¶
In Zeitstempel transformierter Datumstyp weist ein anderes Verhalten auf
Beschreibung¶
Der Datentyp „Datum“ wird je nach Markierung [–] –disableDateAsTimestamp entweder in Datum oder Zeitstempel umgewandelt, da der Datum-Typ in Snowflake ein anderes Verhalten als in Oracle aufweist.
Wichtige Unterschiede¶
Oracle DATE |
Snowflake DATE |
|
|---|---|---|
Funktionalität |
Speichert Informationen zu Datum und Uhrzeit |
Speichert nur Datumsinformationen (Jahr, Monat, Tag) |
Interner Speicher |
Binäre Zahl, die die Sekunden seit der Epoche angibt |
Kompaktes Format, optimiert für Datumsangaben |
Anwendungsfälle |
Allgemeiner Speicher für Datum und Uhrzeit |
Szenarien, in denen nur Datumsinformationen benötigt werden |
Vorteile |
Unterstützt sowohl Datum als auch Uhrzeit |
Effizientere Speicherung für Datumsangaben |
Einschränkungen |
Datum und Uhrzeit können nicht getrennt gespeichert werden. |
Speichert keine Zeitinformationen |
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-OR0043¶
BFILE/BLOB-Parameter werden als Binärwerte betrachtet. Möglicherweise ist ein Format erforderlich.
Beschreibung¶
Dieser Fehler tritt auf, wenn ein TO_CLOB in eine TO_VARCHAR-Funktion konvertiert wird. Möglicherweise ist ein Format für die BFILE/BLOB-Parameter erforderlich.
Beispielcode¶
Eingabecode: ¶
Generierter Code:¶
Best Practices¶
Prüfen Sie, ob die Ausgaben im Eingabecode und dem konvertierten Code gleichwertig sind, und fügen Sie bei Bedarf einen Formatparameter hinzu.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0044¶
REGEXP_LIKE_UDF-Übereinstimmungsparameter verhält sich möglicherweise nicht korrekt
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Warnung erscheint, wenn die Oracle-REGEXP_LIKE-Bedingung mit dem dritten Parameter (Match-Parameter) verwendet wird. Der Grund für die Warnung ist, dass die REGEXP_LIKE_UDF, die die REGEXP_LIKE ersetzt, nicht alle vom Match-Parameter verwendeten Zeichen erkennt. Daher kann das Ergebnis der Abfrage in Snowflake möglicherweise nicht dem in Oracle entsprechen.
Beispielcode¶
Oracle-Eingabecode:¶
Generierter Code:¶
When the
REGEXP_LIKEcondition comes with one of the characters that are not supported by the user-defined function, maybe a possible solution is to change the regular expression to simulate the behavior of the missing character in the match parameter. To know more about the character not supported go to REGEXP_LIKE_UDF documentation.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0045¶
Partitionsklauseln werden von Snowflake verarbeitet
Bemerkung
Diese FDM ist veraltet. Weitere Informationen finden Sie unter SSC-EWI-OR0010.
Beschreibung¶
Diese Warnung erscheint, wenn die PARTITION- und SUBPARTITION-Klauseln innerhalb einer Abfrage erscheinen. Snowflake verarbeitet Partitionen automatisch
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-FDM-OR0046¶
Die Einschränkung für Unterabfragen ist in Snowflake nicht möglich
Bemerkung
Einige Teile des Ausgabecodes werden aus Gründen der Übersichtlichkeit weggelassen.
Beschreibung¶
Diese Warnung tritt auf, wenn in einer SELECT-Anweisung eine Subquery-Restriction erscheint.
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-FDM-OR0047¶
Es kann erforderlich sein, ein TimeStampOutput-Format festzulegen.
Beschreibung¶
TIMESTAMP_OUTPUT_FORMAT-Sitzungsparameter muss möglicherweise auf ‚DD-MON-YY HH24.MI.SS.FF AM TZH:TZM‘ festgesetzt werden, um eine Zeitstempelausgabe-Äquivalenz zu erhalten.
Beispielcode¶
Eingabecode: ¶
Beispiel für Standard-TIMESTAMP-Ausgabe in Oracle¶
Ausgabe
13-JAN-21 04.18.37.288656 PM +00:00
Generierter Code:¶
Beispiel für Standard-TIMESTAMP-Ausgabe in Snowflake¶
Ausgabe
2021-01-13 08:18:19.720 -080
Best Practices¶
Um das Format für die Zeitstempelausgabe in Snowflake zu ändern, verwenden Sie die folgende Abfrage:
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'DD-MON-YY HH24.MI.SS.FF AM TZH:TZM';Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0048¶
Date or timestamp output format has to be set
Beschreibung¶
When SnowConvert AI transforms a DATE or TIMESTAMP to VARCHAR (for example, in a DEFAULT clause using SYSDATE or TRUNC(CURRENT_DATE())), the output depends on the OUTPUT_FORMAT and TIMESTAMP_OUTPUT_FORMAT session parameters. These may not match Oracle’s default format. Set the session parameters to match the Oracle values for equivalent output.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Set TIMESTAMP_OUTPUT_FORMAT and OUTPUT_FORMAT session parameters to match Oracle’s NLS format (e.g., ‚DD-MON-YY HH24.MI.SS.FF AM TZH:TZM‘).
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0049¶
LAG-Funktion kann fehlschlagen, wenn sich der Standardwerttyp vom Ausdruckstyp unterscheidet.
Beschreibung¶
In Oracle konvertiert die LAG-Funktion automatisch den Datentyp des Standardwerts, sodass er mit dem Typ des Ausdrucks übereinstimmt. Snowflake führt diese implizite Konvertierung jedoch nicht durch. Daher wird eine Warnung ausgegeben, die darauf hinweist, dass die LAG-Funktion fehlschlagen kann, wenn die Datentypen nicht kompatibel sind.
Beispielcode¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie, ob der Datentyp des Standardwerts mit dem Datentyp des Ausdrucks in der
LAG-Funktion übereinstimmt. Wenn sie unterschiedlich sind, wandeln Sie den Standardwert explizit in den Datentyp des Ausdrucks um.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-FDM-OR0050¶
Ausnahmen mit NOCOPY-Parameter können zu Dateninkonsistenzen führen.
Beschreibung¶
In Oracle-PL/SQL wird das NOCOPY-Schlüsselwort als Optimierungshinweis für OUT- und IN OUT-Prozedurparameter verwendet. Standardmäßig übergibt Oracle diese Parameter als Wert, erstellt während des Aufrufs eine teure Kopie der Daten und kopiert diese nach Abschluss wieder zurück. Dies kann bei großen Datenstrukturen einen erheblichen Leistungsaufwand verursachen.
NOCOPY weist Oracle an, stattdessen per Referenz zu übergeben, sodass die Prozedur die ursprünglichen Daten direkt ändern kann. Dies reduziert den Kopieraufwand und verbessert die Leistung. Änderungen sind jedoch sofort wirksam und werden nicht implizit rückgängig gemacht, wenn innerhalb der Prozedur eine unberücksichtigte Ausnahme auftritt.
Deshalb entfernen wir die NOCOPY-Parameteroption und fügen diese FDM hinzu. Dies liegt daran, dass die Ausführung der Prozedur beim Auftreten einer Ausnahme beendet wird und dadurch die RETURN-Anweisung nicht mehr erreicht wird. Infolgedessen behält die Variable im Declare-Block des Aufrufers ihre Anfangswerte bei, da die Prozedur keinen neuen Wert zur Zuweisung erfolgreich zurückliefert.
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.