SnowConvert AI - Oracle - Sélectionner¶
In this section you could find information about the select query syntax and its conversions.
Note
Certaines parties des codes de sortie sont omises pour des raisons de clarté.
Traduction de sélection globale¶
Sélection simple¶
Oracle :¶
Snowflake :¶
Clause Where¶
Oracle :¶
Snowflake :¶
Clause Order by¶
Oracle :¶
Snowflake :¶
Group by¶
Oracle :¶
Snowflake :¶
Clause de modèle¶
La clause de modèle n’est pas encore prise en charge.
Clause de limitation de ligne¶
Oracle :¶
Snowflake :¶
Note
Dans Oracle, le FETCH / OFFSET WITH TIES est ignoré si aucun ORDER BY n’est spécifié dans le SELECT. Ce cas sera transformé en FETCH / OFFSET avec le mot-clé ONLY dans Snowflake ; notez que dans Snowflake, le mot-clé ONLY n’a aucun effet dans les résultats et n’est utilisé que pour des raisons de lisibilité.
Pivot¶
Snowflake ne prend pas en charge les instructions suivantes :\ - Rename columns\ - Multiple Columns
Oracle :¶
Snowflake :¶
Unpivot¶
Snowflake ne pend pas en charge les instructions suivantes :\ \ - INCLUDE / EXCLUDE NULLS
Oracle :¶
Snowflake :¶
Transformation de JOIN (+) en syntaxe ANSI¶
Danger
Cette traduction est actuellement désactivée et n’est destinée qu’à servir de référence pour les traductions effectuées avec les versions précédentes de SnowConvert AI. Pour la traduction actuelle, consultez la section ci-dessus.
SnowConvert AI traduit la syntaxe de jointure extérieure spéciale (+) NON-ANSI en syntaxe de jointure extérieure ANSI. Cette sous-section présente quelques exemples :
Vers LEFT OUTER JOIN¶
Exemple 1 :
Oracle :¶
Snowflake :¶
Exemple 2 :
Oracle :¶
Snowflake :¶
Exemple 3 : jointure multiple
Oracle :¶
Snowflake :¶
Exemple 4 : Jointure avec d’autres types de conditionnels
Oracle :¶
Snowflake :¶
Exemple 5 : Jointure avec (+) dans une fonction
Oracle :¶
Snowflake :¶
Avertissement
Notez que certains des modèles traduits en LEFT OUTER JOIN peuvent récupérer les lignes dans un ordre différent.
Vers CROSSJOIN¶
Exemple 6 : Cas complexe nécessitant l’utilisation de CROSS JOIN
Oracle :¶
Snowflake :¶
Requêtes hiérarchiques¶
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.
Modèles d’échantillons de sources¶
Oracle :¶
Snowflake :¶
Requête Select Flashback¶
Description¶
Oracle
La requête flashback utilisée dans Oracle permet de récupérer les données passées d’une table, d’une vue ou d’une vue matérialisée. Dans Oracle, les utilisations peuvent être les suivantes :
La restauration de données supprimées ou l’annulation d’un commit incorrect, la comparaison des données actuelles avec les données correspondantes à un moment antérieur, la vérification de l’état des données transactionnelles à un moment donné et les outils de génération de rapports sur les données passées, entre autres. (Documentation sur les requêtes Oracle Flashback).
Snowflake
Le mécanisme équivalent dans Snowflake pour interroger les données du passé est la requête AT | BEGIN. Notez que la seule équivalence concerne les instructions AS OF.
En outre, Snowflake dispose d’une documentation complète sur Time Travel qui permet de cloner des objets tels que des tables, des vues et des schémas dans le cadre de requêtes portant sur des données. Les jours d’accès aux données passées ou supprimées sont limités (90 jours avant le passage au statut Fail-safe). Pour plus d’informations, consultez la documentation sur Snowflake Time Travel.
Syntaxe Oracle
Syntaxe Snowflake
Note
Notez que l’ID de requête doit faire référence à une requête exécutée dans les 14 jours. Si l’ID de requête fait référence à une requête datant de plus de 14 jours, l’erreur suivante est renvoyée : Erreur : instruction <query_id> introuvable. Pour contourner cette limite, utilisez l’horodatage de la requête référencée. (Snowflake AT | Documentation Before)
Modèles d’échantillons de sources¶
Les données suivantes sont utilisées dans les exemples suivants pour générer les sorties de requête.
Oracle¶
Snowflake¶
1. AS OF with TIMESTAMP case¶
Oracle¶
Snowflake¶
2. AS OF with SCN case¶
Oracle¶
Snowflake¶
Problèmes connus¶
L’option n’est pas pris en charge lorsqu’elle utilise SCN.
L’instruction VERSION n’est pas prise en charge dans Snowflake.
EWIs connexes¶
SSC-EWI-0040: Instruction non prise en charge.
SSC-EWI-OR0135: La clause actuelle n’est pas prise en charge dans Snowflake.
SSC-FDM-0006: La colonne de type nombre peut ne pas se comporter de la même manière dans Snowflake.
SSC-FDM-OR0042: Le type de date transformé en horodatage a un comportement différent.