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 :¶
CREATE TABLE T1
(
COL1 VARCHAR(10) COLUMN SECURED WITH securityLabel1,
COL2 VARCHAR(10) COLUMN SECURED WITH securityLabel2
);
Code de sortie :¶
CREATE TABLE T1
(
COL1 VARCHAR(10),
COL2 VARCHAR(10)
)
WITH ROW ACCESS POLICY securityLabel1 ON (
COL1
)
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0001 - WITH ROW ACCESS POLICY CLAUSE DOES NOT SUPPORT MULTIPLE DECLARATION IN SNOWFLAKE ***/!!!
WITH ROW ACCESS POLICY securityLabel2 ON (
COL2
)
;
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¶
Les tables temporelles DB2 ne possèdent pas d’équivalent fonctionnel dans Snowflake. Lorsqu‘une déclaration de table temporelle de période d’application ou de période système est trouvée dans les colonnes CREATE TABLE, cette colonne est commentée à partir du script résultant. Le comportement de l’instruction SELECT sera différent de celui dans Snowflake, car les tables temporelles ne font pas partie de la solution Snowflake. Ainsi, le résultat sera différent si l’instruction Select est migrée partiellement. Consultez l’exemple ci-dessous pour plus d’informations à ce sujet.
Sélectionner la requête¶
SELECT
ID,
Start,
END
FROM
timetable
FOR system_time as of '2022-05-09-16.20.17.0';
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¶
SELECT
ID,
Start,
END
FROM
timetable
-- FOR system_time as of '2022-05-09-16.20.17.0';
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¶
CREATE TABLE TestTable (
COL1 DATE,
COL2 DATE,
PERIOD SYSTEM_TIME (COL1, COL2),
PERIOD BUSINESS_TIME (COL1, COL2)
Sélectionner la requête¶
SELECT
*
FROM
Table1
FOR SYSTEM_TIME AS of Value
Snowflake¶
Create Table¶
CREATE TABLE TestTable (
COL1 DATE,
COL2 DATE,
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0003 - PERIOD SPECIFICATION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
PERIOD SYSTEM_TIME (COL1, COL2),
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0003 - PERIOD SPECIFICATION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
PERIOD BUSINESS_TIME (COL1, COL2)
)
Sélectionner la requête¶
SELECT
*
FROM
Table1
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0003 - PERIOD SPECIFICATION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
FOR SYSTEM_TIME AS of Value
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 :¶
Select * from OUTER(ATable);
Select * from ONLY(ATable);
Code de sortie :¶
Select * from
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0004 - OUTER TABLE REFERENCE IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
OUTER(ATable) AS AliasName;
Select * from
ATable;
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 :¶
CREATE VIEW TestTableId2 AS Select * from TestTableId1 WITH ROW MOVEMENT;
Code de sortie :¶
CREATE VIEW TestTableId2
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "db2", "convertedOn": "09/02/2025", "domain": "no-domain-provided" }}'
AS Select * from
TestTableId1
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0005 - MANIPULATION OF DATA IN VIEWS IS NOT SUPPORTED. ***/!!!
WITH ROW MOVEMENT;
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¶
SELECT
*
FROM
OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Mettre à jour une instruction¶
UPDATE (SELECT EMPNO, SALARY, COMM,
AVG(SALARY) OVER (PARTITION BY WORKDEPT),
AVG(COMM) OVER (PARTITION BY WORKDEPT)
FROM EMPLOYEE E) AS E(EMPNO, SALARY, COMM, AVGSAL, AVGCOMM)
SET (SALARY, COMM) = (AVGSAL, AVGCOMM)
WHERE EMPNO = '000120';
UPDATE TABLE5
INCLUDE (col1 INT, col2 Varchar(10))
SET Column1 = 1;
Code de sortie Snowflake :¶
Sélectionner une instruction¶
SELECT
*
FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0006 - INTERMEDIATE RESULT TABLE IS NOT SUPPORTED. ***/!!!
OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Mettre à jour une instruction¶
UPDATE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0006 - INTERMEDIATE RESULT TABLE IS NOT SUPPORTED. ***/!!!
(SELECT EMPNO, SALARY, COMM,
AVG(SALARY) OVER (PARTITION BY WORKDEPT),
AVG(COMM) OVER (PARTITION BY WORKDEPT)
FROM EMPLOYEE E) AS E(EMPNO, SALARY, COMM, AVGSAL, AVGCOMM)
SET
SALARY = AVGSAL,
COMM = AVGCOMM
WHERE EMPNO = '000120';
UPDATE TABLE5
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0006 - INTERMEDIATE RESULT TABLE IS NOT SUPPORTED. ***/!!!
INCLUDE (col1 INT, col2 Varchar(10))
SET Column1 = 1;
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¶
INSERT INTO
(SELECT * FROM SOMEOTHERTABLE)
VALUES
(DEFAULT);
Snowflake¶
Requête¶
INSERT INTO
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0007 - QUERY AS INSERT TARGET NAME IS NOT SUPPORTED ***/!!!
(SELECT * FROM SOMEOTHERTABLE)
VALUES
(DEFAULT);
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¶
DELETE FROM (
SELECT * FROM table1
)
Snowflake¶
Sélectionner la requête¶
DELETE FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0008 - DELETE FROM SELECT STATEMENT IS NOT SUPPORTED. ***/!!!
(
SELECT * FROM table1
)
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¶
DELETE FROM table1
WHERE CURRENT OF cursor1
Mettre à jour une instruction¶
UPDATE table1
SET col1 = 1
WHERE CURRENT OF cursor1
Snowflake¶
Instruction Delete¶
DELETE FROM
table1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!! CURRENT OF cursor1
Mettre à jour une instruction¶
UPDATE TABLE1
SET Column1 = 1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!!
CURRENT OF cursor1;
Recommandations¶
Pour obtenir une aide supplémentaire, vous pouvez nous envoyer un e-mail à support@mobilize.net ou publier un message sur nos forums. Si vous avez un contrat d’assistance avec Mobilize.Net, contactez votre ingénieur commercial pour qu’il puisse répondre à vos besoins d’assistance.
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.
Pour plus d’informations sur les types de structures, cliquez ici.
Exemple de code¶
DB2¶
UPDATE CIRCLES
SET C..CENTER..X = C..CENTER..Y,
C..CENTER..Y = C..CENTER..X
WHERE ID = 999;
Snowflake¶
UPDATE CIRCLES
SET
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0010 - ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!! C..CENTER..X =
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0010 - ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!! C..CENTER..Y,
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0010 - ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
C..CENTER..Y =
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0010 - ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!! C..CENTER..X
WHERE ID = 999
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¶
UPDATE EMPLOYEE EU
SET (EU.COM, EU.SALARY) = (SELECT ES.SALARY FROM EMPLOYEE ES WHERE ES.WORKDEPT = EU.WORKDEPT)
WHERE EU.EMPNO = '000120';
Snowflake¶
UPDATE EMPLOYEE EU
SET
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0011 - ASSIGNMENT CLAUSE TYPE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
(EU.COM, EU.SALARY) = (SELECT ES.SALARY FROM
EMPLOYEE ES WHERE ES.WORKDEPT = EU.WORKDEPT)
WHERE EU.EMPNO = '000120';
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¶
CREATE VIEW VIEW1 AS SELECT * FROM T;
INSERT INTO VIEW1 (COL1, COL2) VALUES (NULL, DEFAULT);
Snowflake¶
CREATE VIEW PUBLIC.VIEW1
AS SELECT * FROM
PUBLIC.T;
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0012 - INVALID NAME AS INSERTION TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
INSERT INTO VIEW1 (COL1, COL2) VALUES (NULL,DEFAULT);
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¶
CREATE VIEW VIEW1 AS SELECT * FROM T;
DELETE FROM VIEW1
Snowflake¶
CREATE VIEW PUBLIC.VIEW1
AS SELECT * FROM
PUBLIC.T;
DELETE FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0013 - INVALID NAME AS DELETE TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
VIEW1
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¶
SELECT
*
FROM
EXTERNAL SOMENAME AS T1 LIKE TABLE2 USING(COMPRESS NO)
Snowflake¶
SELECT
*
FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0014 - THE USE OF EXTERNAL TABLE REFERENCES IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
EXTERNAL SOMENAME AS T1 LIKE TABLE2 USING(COMPRESS NO)
Recommandations¶
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.