SnowConvert AI - Différences fonctionnelles Oracle¶
SSC-FDM-OR0001¶
Note
Ce FDM a été ajouté pour une ancienne version de SnowConvert AI Oracle. Actuellement, il est obsolète.
Description¶
This error is related to the Assessment report file. It appears when an error occurs while writing the assessment details report file.
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0002¶
La valeur de début de la séquence dépasse la valeur maximale autorisée par Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0068
Description¶
Cette erreur apparaît lorsque la valeur de l’instruction START WITH dépasse la valeur maximale autorisée par Snowflake. Ce que Snowflake dit à propos de la valeur de départ est : Spécifie la première valeur retournée par la séquence. Les valeurs prises en charge sont n’importe quelle valeur qui peut être représentée par un entier de complément à deux de 64 bits (de -2^63 à 2^63-1). Ainsi, selon ce qui a été mentionné précédemment, la valeur maximale autorisée est 9223372036854775807 pour les nombres positifs et 9223372036854775808 pour les nombres négatifs.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Il peut être recommandé de simplement réinitialiser la séquence et de modifier également son utilisation. NOTE : la colonne cible doit disposer d’un espace suffisant pour contenir cette valeur.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0003¶
Suppression de la clause de recherche de l’instruction with element.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0038
Description¶
La search_clause est utilisée pour définir l’ordre dans lequel les lignes sont traitées dans une instruction SELECT. Cette fonctionnalité permet un parcours personnalisé des données, garantissant que les résultats sont renvoyés dans une séquence spécifique en fonction des critères spécifiés. Cependant, il est important de noter que ce comportement, caractérisé par la search_clause, n’est pas pris en charge dans Snowflake.
Dans les bases de données telles que Oracle, la search_clause est couramment utilisée en conjonction avec des requêtes récursives ou des expressions de table communes (CTEs) pour influencer la séquence dans laquelle les données hiérarchiques sont explorées. En désignant une colonne ou un ensemble de colonnes spécifique dans la search_clause, vous pouvez contrôler le parcours en profondeur d’abord ou en largeur d’abord de la hiérarchie, ce qui a un impact sur l’ordre dans lequel les lignes sont traitées.
Dans Snowflake, un message search_clause sera généré, et la search_clause sera ensuite supprimée.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Recommandation¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0004¶
Mot clé siblings supprimé de la clause order by, car Snowflake ne le prend pas en charge.
Description¶
Dans Oracle, la clause ORDER BY SIBLINGS peut être utilisée dans les requêtes hiérarchiques pour préserver l’ordre des données fourni par la hiérarchie, tout en appliquant une réorganisation des valeurs qui sont des éléments de même niveau dans la même hiérarchie. Celle-ci n’est pas prise en charge dans Snowflake.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Bien que vous ne puissiez pas obtenir exactement le même ordre qu’avec la clause SIBLINGS, il existe quelques alternatives pour obtenir un résultat similaire.
Intégrez la requête dans une requête externe qui applique le tri souhaité à l’aide d’
ORDER BY.Créez une CTE avec la requête hiérarchique à l’aide de
CONNECT BYet faites référence à la CTE dans une requête ultérieure pour appliquerORDER BYau tri entre éléments de même niveau (lignes au même niveau).
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0005¶
Les synonymes ne sont pas pris en charge dans Snowflake, mais les références à ce synonyme ont été modifiées par le nom d’objet d’origine.
Description¶
Les synonymes ne sont pas pris en charge dans Snowflake. Les synonymes sont remplacés par le nom d’origine.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0006¶
État de contrainte supprimé de la contrainte en ligne not null.
Description¶
Cet avertissement apparaît lorsque la contrainte de colonne not null contient l’un des états de contrainte Oracle suivants dans le cadre de la définition en ligne de la colonne:
Snowflake ne prend pas en charge ces états. Par conséquent, ils seront supprimés de la contrainte en ligne NOT NULL.
Exemple de code ¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0007¶
Snowflake ne prend pas en charge la gestion des versions des objets. Les développeurs doivent envisager d’autres approches pour la gestion des versions du code.
Description¶
Snowflake doesn’t support the versioning of objects. The modifier EDITIONABLE or NONEDITIONABLE is removed in the converted code and a warning is added.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
L’utilisateur doit envisager d’autres approches pour la gestion des versions du code.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0008¶
Set Quantifier non pris en charge
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0071
Description¶
Le quantificateur « all » n’est pas pris en charge dans Snowflake. Le modificateur est supprimé du code source et un avertissement est ajouté. Le code résultant peut se comporter de manière inattendue.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Dans Snowflake, les opérateurs INTERSECT et MINUS/EXCEPT supprimeront toujours les valeurs en double.
Meilleures pratiques¶
Vérifiez les alternatives dans Snowflake pour émuler la fonctionnalité du quantificateur « all ».
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0009¶
Les valeurs SQL implicites du curseur peuvent différer.
Description¶
Note
Generate Procedures and Macros using JavaScript as the target language adding the following flag -t JavaScript or --PLTargetLanguage JavaScript
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Cet EWI est affiché lorsque la valeur SQL implicite du curseur est utilisée. En effet, Oracle utilise des valeurs différentes selon le type de requête. Par exemple, pour SELECT, la valeur utilisée pour définir les valeurs SQL implicites du curseur sont le nombre de lignes retournées par la requête. Lorsque le type de requête est UPDATE/CREATE/DELETE/INSERT, la valeur utilisée est le nombre de lignes affectées. Il s’agit de la principale raison pour laquelle cet EWI s’affiche.
Exemple de code¶
Code d’entrée :¶
-- 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;
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0010¶
La précision inférieure du type de données NUMBER a été augmentée pour correspondre à l’échelle.
Description¶
Le type de données NUMBER stocke les nombres fixes et à virgule flottante. Ces données sont portables entre les différents systèmes d’exploitation exécutant la base de données Oracle. Le type de données NUMBER est recommandé pour la plupart des cas dans lesquels vous devez stocker des données numériques. La syntaxe est NUMBER (X, Y), où X correspond à la précision et Y correspond à l’échelle.
Par exemple, NUMBER(5, 3) est un nombre qui possède 2 chiffres avant la décimale et 3 chiffres après la décimale, comme suit:
Autres considérations importantes :
L’échelle Y spécifie le nombre maximum de chiffres à droite de la virgule décimale.
La précision d’échelle YX spécifie le nombre minimum de zéros présents après le point décimal.
Ce message s’affiche lorsqu’un NUMBER possède une précision inférieure à son échelle. Snowflake ne prend pas en charge cette fonctionnalité, et ce message est utilisé pour indiquer que la valeur de la précision a été augmentée pour maintenir l’équivalence.
Remarque
Veuillez noter qu’il existe des cas où ce problème peut soit s’ajouter à d’autres transformations connues, soit ne pas se produire du tout. Par exemple, dans les cas où l’échelle est remplacée par neuf et où la précision antérieure est supérieure à neuf, ce message ne s’affichera NOT.
Exemple de code¶
Code d’entrée :¶
Requêtes¶
Résultat¶
Code généré :¶
Requêtes¶
Résultat¶
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0011¶
L’argument booléen a été supprimé, car l’option « add to stack » n’est pas prise en charge.
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0012¶
Les instructions COMMIT et ROLLBACK nécessitent une configuration adéquate pour fonctionner comme prévu.
Description¶
Les instructions COMMIT et ROLLBACK nécessitent une configuration adéquate pour fonctionner comme prévu dans Snowflake. L’instruction suivante doit être exécutée dans Snowflake pour simuler la fonctionnalité correcte de ces instructions:
Exemple de code¶
Code d’entrée¶
Code généré¶
Meilleures pratiques¶
Exécutez la requête mentionnée dans la section de description avant de commencer à exécuter votre code.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0013¶
The cycle clause is not supported in Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0039
Description¶
Ce message s’affiche lorsque SnowConvert AI trouve une requête avec une clause CYCLE. Celle-ci n’est pas prise en charge dans Snowflake et est donc commentée dans le code.
Cette clause indique lorsqu’il existe une récursivité.
Pour plus de détails, consultez la documentation sur la fonctionnalité de la clause.
Exemple de code¶
Connecter par¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
S’il existe des cycles dans la hiérarchie des données, vous pouvez examiner cet article pour les gérer.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0014¶
Inadéquation du type de données de la clé étrangère.
Description¶
Cette erreur se produit lorsqu’il existe une inadéquation dans le type de données d’une clé étrangère.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Note
Notez que « MyDb ». »MyTable1 ».COL1 et « MyDb ». »MyTable ».COL1 sont de types différents et que l’ERROR s’affiche.
Meilleures pratiques¶
S’il existe des cycles dans la hiérarchie des données, vous pouvez examiner cet article pour les gérer.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0015¶
Les résultats LENGTHB transformés en OCTET_LENGTH peuvent varier en raison de la gestion de la mémoire de DBMS.
Description¶
Ce problème se produit lorsqu’il existe un appel à la fonction LENGTHB qui retourne la taille d’une colonne ou d’un littéral en octets. Cette fonction est transformée en fonction OCTET_LENGTH de Snowflake.
Lorsque le paramètre de la fonction est une colonne, le résultat correspondra à la taille de la valeur que la colonne possède. Cette taille peut varier d’Oracle à Snowflake. Le type de la colonne joue un rôle important dans le résultat renvoyé par la fonction.
Exemple de code¶
Code d’entrée :¶
Requêtes¶
Résultat¶
Code généré :¶
Requêtes¶
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;
Résultat¶
Meilleures pratiques¶
Vérifiez manuellement les types de données utilisés.
Vérifiez l’encodage des colonnes utilisées, car OCTET_LENGTH peut renvoyer des tailles plus grandes lorsque la chaîne contient des points de code Unicode.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0016¶
Les options COMMIT et ROLLBACK ont été supprimées, car Snowflake n’en a pas besoin.
Description¶
Les options d’instruction COMMIT et ROLLBACK sont supprimées, car Snowflake n’en a pas besoin.
Exemple de code¶
Code d’entrée¶
Code généré¶
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0017¶
DBTimezone a été supprimé pour utiliser la valeur par défaut de l’horodatage.
Description¶
Le mot-clé DBTIMEZONE a été supprimé de l’expression AT TIME ZONE.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
You may need to set the TIMEZONE session parameter to get equal results.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0018¶
Merge statement may not work as expected
Description¶
Cet avertissement est utilisé pour indiquer que l’instruction Merge de Snowflake peut présenter certaines différences fonctionnelles par rapport à Oracle.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Si vous obtenez des résultats différents de ceux d’Oracle, tenez compte des points suivants :
Pour la priorité des commandes d’exécution, accédez au [lien ] suivant(https://docs.snowflake.com/fr/sql-reference/sql/merge.html#usage-notes) pour obtenir plus d’informations.
Exécutez les instructions DML ignorées en dehors (avant ou après, selon le cas) de l’instruction Merge.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0019¶
La sortie du cadre de fenêtre peut ne pas être équivalente.
Description¶
Cet avertissement est ajouté lorsqu’une unité de cadre de fenêtre ROWS se trouve dans le code source.
ROWS fonctionne en utilisant des numéros de lignes physiques pour son calcul, qui peut différer une fois qu’il est migré vers la plateforme cible. Ajouter manuellement des clauses ORDER BY supplémentaires peut permettre d’atténuer ou d’éliminer ce problème.
Note
Notez que, comme l’indique la documentation Oracle,\ « La valeur renvoyée par une fonction analytique avec un décalage logique est toujours déterministe. Cependant, la valeur renvoyée par une fonction analytique avec un décalage physique peut produire des résultats non déterministes, à moins que l’expression d’ordre ne donne un ordre unique. Vous pouvez avoir à spécifier plusieurs colonnes dans la order_by_clause pour obtenir cet ordre unique. »
Ainsi, il est recommandé de vérifier au préalable si la fonction a renvoyé des résultats déterministes afin d’éviter tout problème.
Exemple de code ¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Assurez un ordre déterministe pour les lignes afin de garantir des sorties déterministes lors de l’exécution dans Snowflake.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0020¶
PRAGMA EXCEPTION_INIT n’est pas pris en charge.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0051](../conversion-issues/oracleEWI.md#ssc-ewi-or0051)
Description¶
Cet avertissement est ajouté lorsque la fonction PRAGMA EXCEPTION_INIT est invoquée dans une procédure. Le nom des exceptions et le code SQL des exceptions est défini dans la fonction RAISE. Lorsqu’il est converti dans l’Exécution de scripts Snowflake, le code SQL est ajouté à la déclaration des exceptions. Cependant, certaines valeurs de code peuvent être non valides dans l’Exécution de scripts Snowflake.
Exemple de code ¶
Code d’entrée :¶
Code généré :¶
Snowflake Scripting¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0021¶
La clause For Loop avec un nombre flottant en tant que limite peut ne pas se comporter correctement dans l’Exécution de scripts Snowflake.
Description¶
L’Exécution de scripts Snowflake autorise uniquement un INTEGER ou une expression qui correspond à un INTEGER en tant que limite pour la condition FOR LOOP. Les nombres flottants seront arrondis à la valeur supérieure ou inférieure et modifieront la limite d’origine.
La limite inférieure sera arrondie à l’entier le plus proche. Par exemple :
3.1 -> 3, 6.7 -> 7, 4.5 -> 5
Cependant, la limite supérieure sera tronquée à l’entier inférieur le plus proche. Par exemple :
3.1 -> 3, 6.7 -> 6, 4.5 -> 4
Exécution de scripts Snowflake¶
Résultat¶
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Réécrivez la condition FOR LOOP afin qu’elle utilise des entiers.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0022¶
La clause For Loop avec plusieurs conditions n’est actuellement pas prise en charge par l’Exécution de scripts Snowflake. Seule la première condition est utilisée.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0100
Description¶
Oracle autorise plusieurs conditions dans une seule FOR LOOP. Cependant, l’Exécution de scripts Snowflake n’autorise qu’une seule condition par FOR LOOP. Seule la première condition est migrée, et les autres sont ignorées lors de la transformation.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Séparez les
FOR LOOPen différentes boucles ou réécrivez la condition.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0023¶
Le code d’exception dépasse la limite de l’Exécution de scripts Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0099
Description¶
Cet avertissement apparaît lorsqu’un code d’erreur de déclaration d’exception dépasse les limites du nombre d’exceptions de l’Exécution de scripts Snowflake. Le nombre doit être un entier compris entre -20000 et -20999.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
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;
$$;
Meilleures pratiques¶
Vérifiez si le code d’exception se situe entre les limites autorisées par l’Exécution de scripts Snowflake. Si non, remplacez-le par un autre numéro d’exception disponible.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0024¶
Colonnes de l’expression introuvables
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0002
Description¶
Cette erreur se produit lorsque les colonnes d’une expression Select n’ont pas pu être résolues, généralement lorsqu’elle fait référence à un accès de type dont la référence n’a pas été résolue ou à une colonne avec un type défini par l’utilisateur dont les colonnes n’ont pas été définies, comme un type sans corps ou un type d’objet sans colonnes.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Vérifiez que la définition de type référencée comporte bien des colonnes.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0025¶
La contrainte Not Null n’est pas prise en charge dans les procédures Snowflake.
Description¶
La contrainte NOT NULL des déclarations de variables Oracle n’est pas prise en charge dans les déclarations de variables à l’intérieur des procédures dans Snowflake.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0026¶
Type non pris en charge dans l’opération de conversion.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0045
Description¶
Cette erreur se produit lorsqu’un type n’est pas pris en charge dans une opération de conversion.
Exemple¶
Code d’entrée :¶
Code généré :¶
EWIs connexes¶
SSC-EWI-OR0011 : le paramètre de format n’est pas pris en charge.
Meilleures pratiques¶
La conversion est convertie en fonction définie par l’utilisateur (UDF/Stub). Vous pouvez donc la modifier pour émuler le comportement de la fonction de conversion.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0027¶
DEFAULT ON CONVERSION ERROR n’est pas pris en charge.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0029
Description¶
L’erreur de conversion par défaut n’est pas prise en charge dans Snowflake.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Vous pouvez créer une UDF pour émuler le comportement de la valeur
DEFAULTON CONVERSION ERROR.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0028¶
Le paramètre SYS_CONTEXT n’est pas pris en charge.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0031.
Description¶
Cette erreur se produit lorsqu’un paramètre de fonction SYS_CONTEXT n’est pas pris en charge.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
La fonction est convertie en fonction définie par l’utilisateur(stub). Vous pouvez donc la modifier pour émuler le comportement du paramètre SYS_CONTEXT.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0029¶
Cette configuration ALTER SESSION n’est pas prise en charge dans Snowflake.
Description¶
Une clause ou une configuration de l’instruction ALTER SESSION n’est pas prise en charge actuellement.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Pour les variables de session, vous pouvez consulter la [documentation ] Snowflake (https://docs.snowflake.com/fr/sql-reference/parameters.html) pour trouver un équivalent.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0030¶
La pseudo-colonne ROWID n’est pas prise en charge dans Snowflake.
Description¶
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.
Exemple de code¶
Code d’entrée Oracle :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0031¶
La clause de journalisation des erreurs dans les instructions DML n’est pas prise en charge par Snowflake.
Description¶
Cette erreur est utilisée pour indiquer que la clause error_logging dans les instructions DML d’Oracle n’est pas prise en charge par les instructions DML de Snowflake.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0032¶
La fonction StandardHash avec un paramètre d’entrée sans chaîne génère un résultat différent dans Snowflake.
Description¶
Cet avertissement est utilisé lorsque la fonction STANDARD_HASH dans Oracle avec un paramètre d’entrée sans chaîne génère un résultat différent dans Snowflake.
Note
When the algorithm parameter is a dynamic expression (not a string literal), the function cannot be converted and SSC-EWI-OR0138 is emitted instead.
Exemple de code¶
Code d’entrée :¶
Requête¶
Résultat¶
Code généré :¶
Requête¶
SELECT
--** SSC-FDM-OR0032 - STANDARD HASH FUNCTION WITH INPUT NON-STRING PARAMETER GENERATES A DIFFERENT RESULT IN SNOWFLAKE **
SHA1(1+1)
FROM DUAL;
Résultat¶
SHA1(1+1) |
--------------------------------------------------+
da4b9237bacccdf19c0760cab7aec4a8359010b0 |
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0033¶
DBMS_RANDOM.VALUE La précision du paquet intégré est inférieure dans Snowflake.
Description
Ce message s’affiche lorsque SnowConvert AI migre une DBMS_RANDOM.VALUE. Fonction de paquet intégré d’Oraclen. Cet avertissement indique que l’UDF ajoutée pour émuler la fonctionnalité a une précision inférieure à la fonction d’originen.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0034¶
La valeur de début de séquence avec “LIMIT VALUE” n’est pas prise en charge par Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0001
Description¶
Cette erreur apparaît lorsque la valeur de l’instruction START WITH est LIMIT VALUE.
In Oracle this clause is used only in ALTER TABLE
STARTWITHLIMIT VALUE, qui est spécifique auxidentity_options, ne peut être utilisée qu’avecALTERTABLEMODIFY. Si vous spécifiezSTARTWITHLIMIT VALUE, la base de données Oracle verrouille la table et trouve la valeur maximale de la colonne d’identité dans la table (pour les séquences croissances) ou la valeur minimale de la colonne d’identité (pour les séquences décroissantes) et attribue la valeur comme point culminant du générateur de séquences. La valeur suivante renvoyée par le générateur de séquences sera le point culminant +INCREMENTBYintegerpour les séquences croissances, ou le point culminant -INCREMENTBYintegerpour les séquences décroissantes.
ALTER TABLE ORACLE¶
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0035¶
Mise en œuvre de l’UDF de vérification DBMS_OUTPUT.PUTLINE
Description¶
Ce message s’affiche lorsque SnowConvert AI migre une DBMS_OUTPUT.PUT_LINE Fonction de paquet intégré d’Oraclen. Cet avertissement vous indique de vérifier l’UD ajoutéeF.
Cet EWI existe pour indiquer à l’utilisateur d’examiner la mise en œuvre de DBMS_OUTPUT.PUT_LINE_UDF, où les informations suivantes se trouvent :
Avertissement
Les performances peuvent être affectées par l’utilisation de cette UDF. Si vous voulez commencer à journaliser des informations, supprimez le commentaire de la mise en œuvre. Notez que cette opération utilise une table temporaire. Si vous voulez que les données persistent après la fin d’une session, veuillez supprimer TEMPORARY de CREATE TABLE.
Une fois les appels à DBMS_OUTPUT.PUT_LINE_UDF effectués, veuillez utiliser la requête suivante pour lire tous les journaux : SELECT * FROM DBMS_OUTPUT.DBMS_OUTPUT_LOG.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0036¶
Paramètres de paquets intégrés inutiles
Description¶
Ce message s’affiche lorsque SnowConvert AI migre une procédure ou une fonction de paquet intégrée d’Oracle, et certains des arguments sont supprimés de l’appel.
Certains des paramètres d’origine peuvent ne pas avoir d’équivalent dans Snowflake ou peuvent ne pas être nécessaires dans la version transformée. Ces paramètres sont supprimés du code produit, mais ils sont préservés dans le message EWI pour que l’utilisateur puisse toujours les suivre.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0037¶
La syntaxe utilisée dans Select n’est pas prise en charge dans Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0004
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Cet avertissement se produit lorsqu’une clause dans Select n’est pas prise en charge dans Snowflake. Les clauses non prises en charge sont les suivantes :
CONTAINERS
SUBQUERY RESTRICTION
HIERARCHIES
EXTERNAL MODIFY
DBLINK
SHARDS
PARTITION
SUBPARTITION
HIERARCHICAL
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0038¶
L’attribut booléen du curseur n’est pas pris en charge.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0128
Description¶
Ce message est utilisé pour indiquer qu’un attribut booléen du curseur n’est pas pris en charge dans SnowScript ou qu’il n’existe pas de transformation qui émule sa fonctionnalité dans SnowScript. Le tableau suivant indique les attributs booléens du curseur qui peuvent être émulés:
Attribut booléen du curseur |
Statut |
|---|---|
|
Peut être émulé |
|
Peut être émulé |
|
Non pris en charge |
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0039¶
Create Type non pris en charge dans Snowflake
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0007
Description¶
Ce message est ajouté lorsqu’une instruction Create Type non prise en charge par Snowflake est utilisée.
Exemple de code¶
Code d’entrée (Oracle) :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0040¶
Les caractères numériques ne peuvent pas être modifiés dans Snowflake. Le séparateur décimal dans Snowflake est le caractère point.
Description¶
Les caractères numériques ne peuvent pas être modifiés dans Snowflake. Le séparateur décimal dans Snowflake est le caractère point. L’instruction de session ALTER est commentée et un avertissement est ajouté.
Exemple de code¶
Oracle :¶
Snowflake Scripting :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0041¶
Paquet intégré non pris en charge.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0076
Description¶
La traduction pour les paquets intégrés n’est pas prise en charge actuellement.
Exemple de code¶
Code d’entrée (Oracle) :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0042¶
Le type Date transformé en Timestamp a un comportement différent.
Description¶
Le type Date est transformé en type Date ou Timestamp en fonction de l’indicateur –disableDateAsTimestamp, car le type Date dans Snowflake a un comportement différent de celui dans Oracle.
Différences clés¶
DATE Oracle |
Snowflake DATE |
|
|---|---|---|
Fonctionnalité |
Enregistre les informations relatives à la date et à l’heure |
Ne stocke que les informations relatives à la date (année, mois, jour) |
Stockage interne |
Nombre binaire représentant les secondes écoulées depuis l’époque |
Format compact optimisé pour les dates |
Cas d’utilisation |
Stockage polyvalent de la date et de l’heure |
Scénarios dans lesquels seules des informations sur la date sont nécessaires |
Avantages |
Prise en charge de la date et de l’heure |
Stockage plus efficace des dates |
Limitations |
Il n’est pas possible d’enregistrer séparément la date et l’heure. |
Ne stocke pas d’informations sur l’heure |
Exemple de code¶
Code d’entrée (Oracle) :¶
Code généré :¶
Meilleures pratiques¶
Aucune action de la part de l’utilisateur final n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0043¶
Les paramètres BFILE/BLOB sont considérés comme binaires. Un format peut être nécessaire.
Description¶
Cette erreur se produit lorsque TO_CLOB est converti en fonction TO_VARCHAR. Un format peut être nécessaire pour les paramètres BFILE/BLOB.
Exemple de code¶
Code d’entrée: ¶
Code généré :¶
Meilleures pratiques¶
Vérifiez si les sorties dans le code d’entrée et le code converti sont équivalentes et ajoutez un paramètre de format si nécessaire.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0044¶
Le paramètre de correspondance REGEXP_LIKE_UDF peut ne pas se comporter correctement.
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Cet avertissement apparaît lorsque la condition REGEXP_LIKE d’Oracle vient avec le troisième paramètre (paramètre de correspondance). Cet avertissement est ajouté car l’REGEXP_LIKE_UDF utilisée pour remplacer la condition REGEXP_LIKE ne reconnaît pas tous les caractères utilisés par le paramètre de correspondance, de sorte que le résultat de la requête dans Snowflake peut ne pas être équivalent à Oracle.
Exemple de code¶
Code d’entrée Oracle :¶
Code généré :¶
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.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0045¶
Les clauses de partitions sont gérées par Snowflake.
Note
Ce FDM est obsolète. Veuillez vous référer à la documentation SSC-EWI-OR0010
Description¶
Cet avertissement apparaît lorsque les clauses PARTITION et SUBPARTITION apparaissent dans une requête. Snowflake gère automatiquement les partitions.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0046¶
La restriction de sous-requête n’est pas possible dans Snowflake.
Note
Certaines parties du code de sortie sont omises pour des raisons de clarté.
Description¶
Cet avertissement se produit lorsqu’une restriction de sous-requête apparaît dans une instruction SELECT.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Aucune autre action de l’utilisateur n’est requise.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0047¶
Il peut être nécessaire de définir un format TimeStampOutput.
Description¶
Le paramètre de session TIMESTAMP_OUTPUT_FORMAT doit peut-être être défini sur “DD-MON-YY HH24.MI.SS.FF AM TZH:TZM” pour l’équivalence de sortie de l’horodatage.
Exemple de code¶
Code d’entrée: ¶
Exemple de sortie TIMESTAMP par défaut dans Oracle¶
Sortie
13-JAN-21 04.18.37.288656 PM +00:00
Code généré :¶
Exemple de sortie TIMESTAMP par défaut dans Snowflake¶
Sortie
2021-01-13 08:18:19.720 -080
Meilleures pratiques¶
Pour modifier le format de sortie de l’horodatage dans Snowflake, utilisez la requête suivante :
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'DD-MON-YY HH24.MI.SS.FF AM TZH:TZM';Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0048¶
Date or timestamp output format has to be set
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
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”).
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0049¶
La fonction LAG peut échouer si le type de valeur par défaut diffère du type d’expression.
Description¶
Dans Oracle, la fonction LAG convertit automatiquement le type de données de la valeur par défaut pour correspondre au type de l’expression. Cependant, Snowflake n’effectue pas cette conversion implicite. Par conséquent, un avertissement est émis pour indiquer que la fonction LAG peut échouer si les types de données sont incompatibles.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Vérifiez que le type de données de la valeur par défaut correspond au type de données de l’expression dans la fonction
LAG. S’ils diffèrent, convertissez explicitement la valeur par défaut en type de données de l’expression.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-FDM-OR0050¶
Les exceptions avec les paramètres NOCOPY peuvent entraîner une incohérence des données.
Description¶
Dans PL/SQL d’Oracle, le mot-clé NOCOPY est un indice d’optimisation pour les paramètres de procédure OUT et INOUT. Par défaut, Oracle transmet ces paramètres par valeur, créant ainsi une copie coûteuse des données pendant l’appel et la recopiant à la fin. Cela peut entraîner une surcharge importante des performances pour les grandes structures de données.
NOCOPY demande à Oracle de transmettre les paramètres par référence, ce qui permet à la procédure de modifier directement les données d’origine. Cela élimine la surcharge liée à la copie et améliore les performances. Cependant, les modifications sont immédiates et ne sont pas implicitement annulées si une exception non gérée se produit dans la procédure.
Par conséquent, nous supprimerons l’option des paramètres NOCOPY et ajouterons ce FDM. En effet, l’exécution de la procédure s’arrête lorsqu’une exception survient, ce qui empêche l’instruction RETURN d’être atteinte. En conséquence, la variable du bloc de déclaration de l’appelant conserve ses valeurs initiales, car la procédure ne parvient pas à renvoyer correctement une nouvelle valeur pour l’attribution.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.