SnowConvert AI - Problèmes IBM DB2¶
SSC-EWI-DB0001¶
WITH ROW ACCESS POLICY CLAUSE DOES NOT SUPPORT MULTIPLE DECLARATION
Gravité¶
Faible
Description¶
Ce message s’affiche chaque fois que SnowConvert AI détecte plusieurs options de colonnes de balises de sécurité à l’intérieur de la même clause CREATE TABLE. La balise de sécurité est traduite en une clause de politique d’accès aux lignes, et Snowflake ne prend pas en charge plusieurs déclarations de politiques d’accès aux lignes. Par conséquent, si plusieurs balises de sécurité sont trouvées, elles seront commentées avec cet EWI.
Exemple de code¶
Code d’entrée :¶
Code de sortie :¶
Recommandations¶
Examinez votre code et assurez-vous qu’une seule balise de sécurité se trouve à l’intérieur de la clause
CREATE TABLE.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0003¶
PERIOD DEFINITION IS NOT SUPPORTED IN SNOWFLAKE.
Gravité¶
Medium
Description¶
DB2 temporal tables do not have a functional equivalent in Snowflake. When an application-period or system-period temporal table declaration is found in the CREATE TABLE columns, that column is commented out from the resulting script. The behavior of the SELECT statement will differ from Snowflake because temporal tables are not part of the Snowflake solution and this causes the result to be different if the Select statement is migrated partially, see the example below for more information about this.
Sélectionner la requête¶
Résultat¶
ID |
START |
END |
|---|---|---|
1001 |
19:45.3 |
22:39.5 |
1002 |
19:45.5 |
22:39.6 |
1003 |
19:45.6 |
22:39.8 |
1004 |
19:45.7 |
00:00.0 |
1005 |
19:45.8 |
00:00.0 |
1006 |
19:46.0 |
00:00.0 |
7 |
16:21.8 |
00:00.0 |
Si l’instruction Select est migrée partiellement, le résultat est très différent, comme montré ci-dessous.
Sélectionner la requête¶
Résultat¶
ID |
START |
END |
2001 |
22:39.5 |
00:00.0 |
2002 |
22:39.6 |
00:00.0 |
2003 |
22:39.8 |
00:00.0 |
1004 |
19:45.7 |
00:00.0 |
1005 |
19:45.8 |
00:00.0 |
1006 |
19:46.0 |
00:00.0 |
7 |
16:21.8 |
00:00.0 |
Exemple de code¶
DB2¶
Créer une table¶
Sélectionner la requête¶
Snowflake¶
Create Table¶
Sélectionner la requête¶
Recommandations¶
Snowflake permet le stockage des données historiques des tables pendant une durée maximale de 90 jours. Pour en savoir plus, consultez Compréhension et utilisation de la fonction Time Travel.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0004¶
OUTER TABLE REFERENCE NOT APPLICABLE IN SNOWFLAKE
Gravité¶
Faible
Description¶
Ce message s’affiche lorsqu’une référence de table OUTER est trouvée dans une clause FROM à l’intérieur d’une instruction SELECT. Cette clause est utilisée pour inclure des sous-tables dans la table de résultats intermédiaires de l’instruction SELECT. Les sous-tables sont liées aux tables typées dans la base de données DB2, qui sont créées avec la clause OF de l’instruction CREATE TABLE, qui n’est pas non plus prise en charge dans Snowflake.
Exemple de code¶
Code d’entrée :¶
Code de sortie :¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0005¶
MANIPULATION OF DATA IN VIEWS IS NOT SUPPORTED
Gravité¶
Medium
Description¶
Ce message s’affiche lorsqu’il est trouvé dans un nœud CREATE VIEW ou une clause liée à la manipulation de données des lignes dans CREATE VIEW. Notez que dans DB2, vous pouvez insérer ou mettre à jour des lignes directement à partir d’une VIEW, alors que dans Snowflake, cela n’est pas pris en charge. Pour cette raison, les nœuds ou les clauses liés à cette fonctionnalité sont commentés, et un EWI est ajouté.
Exemple de code¶
Code d’entrée :¶
Code de sortie :¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0006¶
INTERMEDIATE RESULT TABLE IS NOT SUPPORTED
Gravité¶
Medium
Description¶
Ce message s’affiche lorsqu’une DATA CHANGE TABLE REFERENCE est trouvée dans une clause FROM. Une DATA CHANGE TABLE REFERENCE spécifie une table intermédiaire, qui est constituée des lignes modifiées par une instruction UPDATE, DELETE ou INSERT incluse dans la DATA CHANGE TABLE REFERENCE.
Dans Snowflake, cette référence n’est pas prise en charge, car elle ne peut pas modifier les lignes et renvoyer un jeu de résultats de la table en même temps. Ainsi, la sélection est commentée.
Exemple de code¶
Code d’entrée DB2 :¶
Sélectionner une instruction¶
Mettre à jour une instruction¶
Code de sortie Snowflake :¶
Sélectionner une instruction¶
Mettre à jour une instruction¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0007¶
QUERY AS INSERT TARGET NAME IS NOT SUPPORTED.
Gravité¶
Medium
Description¶
Contrairement à DB2, Snowflake ne permet pas d’utiliser les résultats de la requête SELECT comme cible d’une instruction INSERT, qui exige à la place que les données soient insérées directement dans des tables ou des vues matérialisées.
Exemple de code¶
DB2¶
Requête¶
Snowflake¶
Requête¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0008¶
DELETE FROM SELECT STATEMENT IS NOT SUPPORTED.
Gravité¶
Medium
Description¶
Snowflake ne prend pas en charge l’utilisation de requêtes Select dans la clause From d’une instruction Delete. Si l’instruction Delete est migrée partiellement, une instruction incomplète sera obtenue, car la clause From sera vide.
Exemple de code¶
DB2¶
Sélectionner la requête¶
Snowflake¶
Sélectionner la requête¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0009¶
POSITIONED STATEMENT IS NOT SUPPORTED.
Gravité¶
Medium
Description¶
Snowflake ne prend pas en charge l’utilisation de curseurs dans le cadre des instructions Delete et Update. Si l’instruction est migrée partiellement, nous nous débarrasserons de la clause Where dans laquelle le curseur est intégré, ce qui rendra dangereuse la suppression ou la mise à jour de l’ensemble de la table.
Exemple de code¶
DB2¶
Instruction Delete¶
Mettre à jour une instruction¶
Snowflake¶
Instruction Delete¶
Mettre à jour une instruction¶
Recommandations¶
For additional support, contact SnowConvert support at snowconvert-support@snowflake.com.
SSC-EWI-DB0010¶
ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravité¶
Medium
Description¶
Ce message s’affiche lorsque vous spécifiez l’attribut d’un type structuré en cours de définition (appelé affectation d’attribut). Un type structuré peut être un sous-type dont les attributs peuvent être hérités d’un supertype.
Snowflake ne prend pas en charge ce type de structures.
For more information, see the DB2 CREATE TYPE (structured) documentation.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0011¶
ASSIGNMENT CLAUSE TYPE IS NOT SUPPORTED IN SNOWFLAKE
Gravité¶
Medium
Description¶
Ce message s’affiche lorsque la clause d’affectation contient une expression non prise en charge par Snowflake.
Cas¶
Instruction de mise à jour¶
Lorsqu’une clause d’affectation présente une affectation multi-colonnes d’une sélection de lignes, vous en trouverez un exemple dans la section Exemple de code.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0012¶
INVALID NAME AS INSERTION TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravité¶
Medium
Description¶
Snowflake ne prend pas en charge l’utilisation du nom de la vue dans l’instruction du nom de la cible Insert.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0013¶
INVALID NAME AS DELETE TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravité¶
Medium
Description¶
Snowflake ne prend pas en charge l’utilisation du nom de la vue dans l’instruction du nom de la cible Delete. Pour cette raison, la requête de résultat n’a pas pu être validée.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0014¶
THE USE OF EXTERNAL TABLE REFERENCES IS NOT SUPPORTED IN SNOWFLAKE
Gravité¶
Medium
Description¶
Snowflake ne prend pas en charge l’utilisation des tables externes dans l’instruction Select. Pour cette raison, la requête de résultat n’a pas pu être validée.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0015¶
The use of Create View Of Type is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects a CREATE VIEW statement that uses the OF type clause. In DB2, typed views are created with the OF type MODE DB2SQL syntax and are based on structured types for object-relational modeling. Snowflake does not support typed views or structured types, so the view definition is marked with this EWI and marked as invalid.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Refactor the typed view into a standard view or materialized view that selects from the underlying table(s)
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0016¶
The use of Unnest Function is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects the UNNEST or TABLE function in a FROM clause. In DB2, these table functions expand arrays or collections into rows (optionally with WITH ORDINALITY for row numbering). Snowflake has different syntax and semantics for array unnesting—FLATTEN is the equivalent—so the DB2 UNNEST/TABLE usage is marked as not supported.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Replace DB2
UNNESTorTABLEwith SnowflakeFLATTENto expand arrays into rows. UseFLATTEN(input => array_column)with appropriate column referencesSi vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0017¶
The use of Typed Tables is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects a CREATE TABLE statement that uses the OF type or UNDER clause. In DB2, typed tables are defined with a structured type hierarchy (e.g., OF Student_t UNDER Person) and support inheritance. Snowflake does not support typed tables or structured types, so the table definition is marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Refactor typed tables into standard tables. Model the type hierarchy with separate tables and foreign keys if inheritance relationships need to be preserved
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0018¶
The use of Staging Tables is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects a CREATE TABLE statement that defines a staging table using the FOR clause (e.g., CREATE TABLE emp_summary_s FOR emp_summary PROPAGATE IMMEDIATE). In DB2, staging tables are used for materialized query table propagation. Snowflake does not support this construct, so the table definition is marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Use Snowflake streams and tasks, or materialized views with refresh logic, to achieve similar incremental propagation behavior
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0019¶
The use of Analyze Table Factor is not supported in Snowflake
Gravité¶
Faible
Description¶
This message is shown when SnowConvert AI detects an ANALYZE_TABLE table factor in a FROM clause. In DB2, ANALYZE_TABLE invokes external analytics (e.g., SAS routines) inline in a query. Snowflake does not support this DB2-specific analytics integration, so the table reference is marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Implement the analytics logic in Snowflake using Snowpark (Python/Java), stored procedures, or external functions, and restructure the query accordingly
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0020¶
The use of Data Capture is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects the DATA CAPTURE CHANGES (or DATA CAPTURE NONE) clause in a CREATE TABLE statement. In DB2, this clause controls whether changed data is captured for replication (e.g., Q Replication). Snowflake does not support this DB2-specific clause, so it is marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
For change data capture in Snowflake, use Streams to track changes on tables
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0021¶
The use of Materialized Query is not supported in Snowflake
Gravité¶
Faible
Description¶
This message is shown when SnowConvert AI detects a CREATE TABLE ... AS statement with materialized query options such as DATA INITIALLY DEFERRED, REFRESH DEFERRED, MAINTAINED BY SYSTEM, or ENABLE QUERY OPTIMIZATION. In DB2, these options define a refreshable materialized query table. Snowflake materialized views use different syntax and semantics, so these options are marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Convert to a Snowflake materialized view if you need automatic refresh. Use
CREATE MATERIALIZED VIEWwith appropriate refresh settingsSi vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-DB0022¶
The use of With Select Analyzed Table is not supported in Snowflake
Gravité¶
High
Description¶
This message is shown when SnowConvert AI detects a WITH (CTE) query in which the main SELECT references a table using the ANALYZE_TABLE table factor. DB2 allows inline analytics (e.g., SAS routines) via ANALYZE_TABLE in such contexts. Snowflake does not support this, so the entire WITH query is marked with this EWI.
Exemple de code¶
DB2¶
Snowflake¶
Recommandations¶
Refactor the query to remove
ANALYZE_TABLE. Implement the analytics logic in Snowflake using Snowpark, stored procedures, or external functions, then integrate results via a separate step or viewSi vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.