SnowConvert AI – Oracle – Select¶
In this section you could find information about the select query syntax and its conversions.
Bemerkung
Einige Teile in den Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Overall Select Übersetzung¶
Einfach auswählen¶
Oracle:¶
Snowflake:¶
WHERE-Klausel¶
Oracle:¶
Snowflake:¶
ORDER BY-Klausel¶
Oracle:¶
Snowflake:¶
Group by¶
Oracle:¶
Snowflake:¶
Model-Klausel¶
Die MODEL-Klausel wird noch nicht unterstützt.
Zeilenbegrenzungsklausel¶
Oracle:¶
Snowflake:¶
Bemerkung
In Oracle wird die FETCH / OFFSET WITH TIES ignoriert, wenn in der SELECT kein ORDER BY angegeben ist. Dieser Fall wird in Snowflake mit dem Schlüsselwort ONLY in ein FETCH / OFFSET umgewandelt. Bitte beachten Sie, dass das Schlüsselwort ONLY in Snowflake keine Auswirkung auf die Ergebnisse hat und nur zur besseren Lesbarkeit verwendet wird.
Pivot¶
Snowflake unterstützt die folgenden Anweisungen nicht:\ - Rename Columns\ - Multiple Columns
Oracle:¶
Snowflake:¶
Unpivot¶
Snowflake unterstützt die folgenden Anweisungen nicht:- INCLUDE / EXCLUDE NULLS
Oracle:¶
Snowflake:¶
Umwandlung von JOIN (+) in ANSI-Syntax¶
Gefahr
Diese Übersetzung ist derzeit deaktiviert und dient nur als Referenz für Übersetzungen, die mit früheren Versionen von SnowConvert AI erstellt wurden. Die aktuelle Übersetzung finden Sie im Abschnitt oben.
SnowConvert AI übersetzt die spezielle NON-ANSI-Syntax für Outer Joins (+) in die ANSI-Syntax für Outer Joins. In diesem Unterabschnitt finden Sie einige Beispiele:
Bis LEFTOUTERJOIN¶
Beispiel 1:
Oracle:¶
Snowflake:¶
Beispiel 2:
Oracle:¶
Snowflake:¶
Beispiel 3: Mehrfache Verknüpfung
Oracle:¶
Snowflake:¶
Beispiel 4: Verknüpfung mit anderen Arten von Bedingungen
Oracle:¶
Snowflake:¶
Beispiel 5: Verbinden mit (+) innerhalb einer Funktion
Oracle:¶
Snowflake:¶
Warnung
Bitte beachten Sie, dass einige der Muster, die in LEFT OUTER JOIN übersetzt wurden, die Zeilen in einer anderen Reihenfolge abrufen können.
Bis CROSSJOIN¶
Beispiel 6: Komplexer Fall, der die Verwendung von CROSS JOIN erfordert
Oracle:¶
Snowflake:¶
Hierarchische Abfragen¶
Hierarchical queries in Snowflake allow you to organize and retrieve data in a tree-like structure, typically using the CONNECT BY clause. This clause joins a table to itself to process hierarchical data in the table.
Beispielhafte Quellcode-Muster¶
Oracle:¶
Snowflake:¶
Flashback-Abfrage auswählen¶
Beschreibung¶
Oracle
Die Flashback-Abfrage in Oracle ruft vergangene Daten aus einer Tabelle, Ansicht oder materialisierten Ansicht ab. In Oracle kann sie unter anderem für folgende Zwecke verwendet werden:
Wiederherstellen von gelöschten Daten oder Rückgängigmachen eines falschen Commits, Vergleichen von aktuellen Daten mit den entsprechenden Daten zu einem früheren Zeitpunkt, Überprüfen des Zustands von Transaktionsdaten zu einem bestimmten Zeitpunkt und Tools zur Erstellung von Berichten zu vergangenen Daten, um nur einige zu nennen. (Oracle Flashback Abfrage-Dokumentation).
Snowflake
Der entsprechende Mechanismus in Snowflake zur Abfrage von Daten aus der Vergangenheit ist die Abfrage AT | BEGIN. Beachten Sie, dass das einzige Äquivalent für die AS OF-Anweisungen ist.
Darüber hinaus verfügt Snowflake über eine vollständige „Time Travel“-Dokumentation, die das Abfragen von Daten zum Klonen von Objekten wie Tabellen, Ansichten und Schemata ermöglicht. Es gibt eine Beschränkung der Tage, an denen Sie auf vergangene oder gelöschte Daten zugreifen können (90 Tage vor dem Übergang in den Fail-safe-Status). Weitere Informationen finden Sie in der Snowflake Time Travel-Dokumentation.
Oracle-Syntax
Snowflake-Syntax
Bemerkung
Beachten Sie, dass die Abfrage ID auf eine Abfrage verweisen muss, die innerhalb von 14 Tagen ausgeführt wurde. Wenn die Abfrage ID auf eine Abfrage verweist, die älter als 14 Tage ist, wird der folgende Fehler zurückgegeben: Fehler: Anweisung <query_id> nicht gefunden. Um diese Einschränkung zu umgehen, verwenden Sie den Zeitstempel für die referenzierte Abfrage. (Snowflake AT | Vor der Dokumentation)
Beispielhafte Quellcode-Muster¶
In den folgenden Beispielen werden die folgenden Daten verwendet, um die Abfrageausgaben zu generieren.
Oracle¶
Snowflake¶
1. AS OF with TIMESTAMP case¶
Oracle¶
Snowflake¶
2. AS OF with SCN case¶
Oracle¶
Snowflake¶
Bekannte Probleme¶
Die Option bei Verwendung von SCN wird nicht unterstützt.
Die VERSION-Anweisung wird in Snowflake nicht unterstützt.
Zugehörige EWIs¶
SSC-EWI-0040: Anweisung nicht unterstützt.
SSC-EWI-OR0135: Die „Current of“-Klausel wird in Snowflake nicht unterstützt.
SSC-FDM-0006: Spalte vom Typ ‚number‘ verhält sich in Snowflake möglicherweise nicht ähnlich.
SSC-FDM-OR0042: In Zeitstempel transformierter Datumstyp weist ein anderes Verhalten auf.