SnowConvert AI – IBM DB2-Probleme

SSC-EWI-DB0001

WITH ROW ACCESS POLICY CLAUSE DOES NOT SUPPORT MULTIPLE DECLARATION

Schweregrad

Niedrig

Beschreibung

Diese Meldung wird angezeigt, wenn SnowConvert AI mehrere Security-Label-Column-Optionen innerhalb derselben CREATE TABLE-Klausel erkennt. Das Security-Label wird in eine Row-Access-Policy-Klausel übersetzt, und Snowflake unterstützt keine mehrfachen Deklarationen von Row-Access-Policies. Wenn also mehrere Sicherheitslabels gefunden werden, werden sie mit diesem EWI auskommentiert.

Codebeispiel

Eingabecode:
 CREATE TABLE T1
(
COL1 VARCHAR(10) COLUMN SECURED WITH securityLabel1,
COL2 VARCHAR(10) COLUMN SECURED WITH securityLabel2
);
Ausgabecode:
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
)
;

Empfehlungen

  • Überprüfen Sie Ihren Code, und stellen Sie sicher, dass nur ein Sicherheitslabel innerhalb der CREATE TABLE-Klausel enthalten ist.

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0003

PERIOD DEFINITION IS NOT SUPPORTED IN SNOWFLAKE.

Schweregrad

Medium

Beschreibung

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.

Abfrage auswählen

 SELECT 
  ID,
  Start,
  END
FROM 
  timetable 
FOR system_time as of '2022-05-09-16.20.17.0';
Ergebnis

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

Wenn die Select-Anweisung teilweise migriert wird, erhalten wir ein ganz anderes Ergebnis, wie unten gezeigt.

Abfrage auswählen
 SELECT 
  ID,
  Start,
  END
FROM 
  timetable 
-- FOR system_time as of '2022-05-09-16.20.17.0';
Ergebnis

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

Codebeispiel

DB2
Tabelle erstellen
CREATE TABLE TestTable (
COL1 DATE,
COL2 DATE,
PERIOD SYSTEM_TIME (COL1, COL2),
PERIOD BUSINESS_TIME (COL1, COL2)
Abfrage auswählen
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)
)
Abfrage auswählen
SELECT
   *
FROM
Table1
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0003 - PERIOD SPECIFICATION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
FOR SYSTEM_TIME AS of Value

Empfehlungen

SSC-EWI-DB0004

OUTER TABLE REFERENCE NOT APPLICABLE IN SNOWFLAKE

Schweregrad

Niedrig

Beschreibung

Diese Meldung wird angezeigt, wenn in einer FROM-Klausel innerhalb einer SELECT-Anweisung ein OUTER-Tabellenverweis gefunden wird. Diese Klausel wird verwendet, um Untertabellen in die Zwischenergebnistabelle der SELECT-Anweisung einzubeziehen. Untertabellen stehen in der DB2-Datenbank im Zusammenhang mit Typed Tables ), die mit der OF-Klausel der CREATE TABLE-Anweisung erstellt werden. Diese werden ebenfalls nicht in Snowflake unterstützt.

Codebeispiel

Eingabecode:
Select * from OUTER(ATable);
Select * from ONLY(ATable);
Ausgabecode:
Select * from
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0004 - OUTER TABLE REFERENCE IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
OUTER(ATable) AS AliasName;

Select * from
ATable;

Empfehlungen

SSC-EWI-DB0005

MANIPULATION OF DATA IN VIEWS IS NOT SUPPORTED

Schweregrad

Medium

Beschreibung

Diese Meldung wird angezeigt, wenn in einer CREATE VIEW ein Knoten oder eine Klausel gefunden wird, der bzw. die sich auf die Datenmanipulation von Zeilen in einer CREATE VIEW bezieht. Beachten Sie, dass in DB2 Zeilen direkt aus einer VIEW eingefügt oder aktualisiert werden können, während dies in Snowflake nicht unterstützt wird. Aus diesem Grund werden Knoten oder Klauseln, die sich auf diese Funktionalität beziehen, auskommentiert und es wird eine EWI hinzugefügt.

Codebeispiel

Eingabecode:
CREATE VIEW TestTableId2 AS Select * from TestTableId1 WITH ROW MOVEMENT;
Ausgabecode:
 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;

Empfehlungen

SSC-EWI-DB0006

INTERMEDIATE RESULT TABLE IS NOT SUPPORTED

Schweregrad

Medium

Beschreibung

Diese Nachricht wird angezeigt, wenn eine DATA CHANGE TABLE REFERENCE in einer FROM-Klausel gefunden wird. Eine DATA CHANGE TABLE REFERENCE gibt eine Zwischentabelle an, die aus den Zeilen besteht, die durch eine UPDATE-, DELETE- oder INSERT-Anweisung geändert werden, die in der DATA CHANGE TABLE REFERENCE enthalten ist.

In Snowflake wird dies nicht unterstützt, da nicht gleichzeitig die Zeilen geändert und ein Resultset der Tabelle zurückgegeben werden kann, daher wird das Select kommentiert.

Codebeispiel

DB2-Eingabecode:
Select-Anweisung
 SELECT
   *
FROM
   OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Update-Anweisung
 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;
Snowflake-Ausgabecode:
Select-Anweisung
SELECT
   *
FROM
   !!!RESOLVE EWI!!! /*** SSC-EWI-DB0006 - INTERMEDIATE RESULT TABLE IS NOT SUPPORTED. ***/!!!
   OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Update-Anweisung
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;

Empfehlungen

SSC-EWI-DB0007

QUERY AS INSERT TARGET NAME IS NOT SUPPORTED.

Schweregrad

Medium

Beschreibung

Im Gegensatz zu DB2 erlaubt Snowflake nicht, SELECT-Abfrageergebnisse als Ziel einer INSERT-Anweisung zu verwenden. Stattdessen müssen Daten direkt in Tabellen oder materialisierte Ansichten eingefügt werden.

Codebeispiel

DB2
Abfrage
 INSERT INTO
   (SELECT * FROM SOMEOTHERTABLE)
VALUES
   (DEFAULT);
Snowflake
Abfrage
 INSERT INTO
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0007 - QUERY AS INSERT TARGET NAME IS NOT SUPPORTED ***/!!!
   (SELECT * FROM SOMEOTHERTABLE)
VALUES
   (DEFAULT);

Empfehlungen

SSC-EWI-DB0008

DELETE FROM SELECT STATEMENT IS NOT SUPPORTED.

Schweregrad

Medium

Beschreibung

Snowflake unterstützt nicht die Verwendung von Auswahlabfragen in der From-Klausel einer Delete-Anweisung. Wenn die Delete-Anweisung teilweise migriert wird, erhalten wir eine unvollständige Anweisung, da die From-Klausel leer ist.

Codebeispiel

DB2
Abfrage auswählen
 DELETE FROM (
SELECT * FROM table1
)
Snowflake
Abfrage auswählen
DELETE FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0008 - DELETE FROM SELECT STATEMENT IS NOT SUPPORTED. ***/!!!
 (
SELECT * FROM table1
)

Empfehlungen

SSC-EWI-DB0009

POSITIONED STATEMENT IS NOT SUPPORTED.

Schweregrad

Medium

Beschreibung

Snowflake unterstützt nicht die Verwendung von Cursorn als Teil der Delete- und Update-Anweisungen. Wenn die Anweisung teilweise migriert wird, wird die „where“-Klausel entfernt, in der der Cursor einen Teil bildet, wodurch es riskant wird, die gesamte Tabelle zu löschen oder zu aktualisieren.

Codebeispiel

DB2
Anweisung löschen
 DELETE FROM table1 
WHERE CURRENT OF cursor1
Update-Anweisung
 UPDATE table1
     SET col1 = 1
     WHERE CURRENT OF cursor1
Snowflake
Anweisung löschen
DELETE FROM
table1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!! CURRENT OF cursor1
Update-Anweisung
UPDATE TABLE1
SET Column1 = 1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!!
 CURRENT OF cursor1;

Empfehlungen

SSC-EWI-DB0010

ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE

Schweregrad

Medium

Beschreibung

Diese Meldung wird angezeigt, wenn das Attribut eines strukturierten Typs angegeben wird, der gerade festgelegt ist (als Attributzuweisung bezeichnet). Ein strukturierter Typ kann ein Untertyp sein, der es ermöglicht, Attribute von einem Supertyp zu erben.

Snowflake unterstützt diese Arten von Strukturen nicht.

For more information, see the DB2 CREATE TYPE (structured) documentation.

Codebeispiel

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

Empfehlungen

SSC-EWI-DB0011

ASSIGNMENT CLAUSE TYPE IS NOT SUPPORTED IN SNOWFLAKE

Schweregrad

Medium

Beschreibung

Diese Nachricht wird angezeigt, wenn die Zuweisungsklausel einen Ausdruck enthält, der von Snowflake nicht unterstützt wird

Fälle

UPDATE-Anweisung

Wenn eine Zuweisungsklausel eine mehrspaltige Zuweisung einer Zeilenauswahl vorsieht, finden Sie ein Beispiel dafür im Abschnitt Code-Beispiel.

Codebeispiel

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';

Empfehlungen

SSC-EWI-DB0012

INVALID NAME AS INSERTION TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE

Schweregrad

Medium

Beschreibung

Snowflake unterstützt die Verwendung von Ansichtsnamen in der Anweisung zum Einfügen von Zielnamen nicht.

Codebeispiel

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);

Empfehlungen

SSC-EWI-DB0013

INVALID NAME AS DELETE TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE

Schweregrad

Medium

Beschreibung

Snowflake unterstützt die Verwendung von Ansichtsnamen in der Anweisung zum Löschen des Zielnamens. Aus diesem Grund konnte die Ergebnisabfrage nicht gültig sein

Codebeispiel

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

Empfehlungen

SSC-EWI-DB0014

THE USE OF EXTERNAL TABLE REFERENCES IS NOT SUPPORTED IN SNOWFLAKE

Schweregrad

Medium

Beschreibung

Snowflake unterstützt die Verwendung von externen Tabellen in der Select-Anweisung nicht. Aus diesem Grund konnte die Ergebnisabfrage nicht gültig sein

Codebeispiel

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)

Empfehlungen

SSC-EWI-DB0015

The use of Create View Of Type is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
CREATE VIEW testView
OF Rootview MODE DB2SQL(REF IS oidColumn USER GENERATED)
AS SELECT * FROM testTable;
Snowflake
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0015 - CREATE VIEW OF TYPE IS NOT SUPPORTED ***/!!!
CREATE VIEW testView
OF Rootview MODE DB2SQL(REF IS oidColumn USER GENERATED)
AS SELECT * FROM testTable;

Empfehlungen

  • Refactor the typed view into a standard view or materialized view that selects from the underlying table(s)

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0016

The use of Unnest Function is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
SELECT
   *
FROM
   UNNEST(arrray) WITH ORDINALITY
Snowflake
SELECT
   *
FROM
   !!!RESOLVE EWI!!! /*** SSC-EWI-DB0016 - UNNEST FUNCTION IS NOT SUPPORTED ***/!!!
   UNNEST(arrray) WITH ORDINALITY;

Empfehlungen

  • Replace DB2 UNNEST or TABLE with Snowflake FLATTEN to expand arrays into rows. Use FLATTEN(input => array_column) with appropriate column references

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0017

The use of Typed Tables is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
CREATE TABLE Student OF Student_t UNDER Person
INHERIT SELECT PRIVILEGES;
Snowflake
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0017 - TYPED TABLES ARE NOT SUPPORTED ***/!!!
CREATE TABLE Student OF Student_t UNDER Person
INHERIT SELECT PRIVILEGES;

Empfehlungen

  • Refactor typed tables into standard tables. Model the type hierarchy with separate tables and foreign keys if inheritance relationships need to be preserved

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0018

The use of Staging Tables is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
CREATE TABLE emp_summary_s FOR emp_summary PROPAGATE IMMEDIATE;
Snowflake
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0018 - STAGING TABLES ARE NOT SUPPORTED ***/!!!
CREATE TABLE emp_summary_s FOR emp_summary PROPAGATE IMMEDIATE;

Empfehlungen

  • Use Snowflake streams and tasks, or materialized views with refresh logic, to achieve similar incremental propagation behavior

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0019

The use of Analyze Table Factor is not supported in Snowflake

Schweregrad

Niedrig

Beschreibung

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.

Codebeispiel

DB2
SELECT
   *
FROM v1 ANALYZE_TABLE(
   IMPLEMENTATION 'PROVIDER=SAS; ROUTINE_SOURCE_TABLE=ETLIN.SOURCE_TABLE; ROUTINE_SOURCE_NAME=SCORING_FUN3;')
ORDER BY 1;
Snowflake
SELECT
   *
FROM
   !!!RESOLVE EWI!!! /*** SSC-EWI-DB0019 - ANALYZE TABLE FACTOR IS NOT SUPPORTED ***/!!!
   v1 ANALYZE_TABLE(
   IMPLEMENTATION 'PROVIDER=SAS; ROUTINE_SOURCE_TABLE=ETLIN.SOURCE_TABLE; ROUTINE_SOURCE_NAME=SCORING_FUN3;')
ORDER BY 1;

Empfehlungen

  • Implement the analytics logic in Snowflake using Snowpark (Python/Java), stored procedures, or external functions, and restructure the query accordingly

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0020

The use of Data Capture is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
CREATE TABLE TestTable
(
   COL1 INT
) DATA CAPTURE CHANGES;
Snowflake
CREATE TABLE TestTable
(
   COL1 INT
)
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0020 - DATA CAPTURE IS NOT SUPPORTED ***/!!!
 DATA CAPTURE CHANGES
;

Empfehlungen

SSC-EWI-DB0021

The use of Materialized Query is not supported in Snowflake

Schweregrad

Niedrig

Beschreibung

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.

Codebeispiel

DB2
CREATE TABLE TRANSCNT (ACCTID, LOCID, YEAR, CNT) AS
  (SELECT ACCOUNTID, LOCATIONID, YEAR, COUNT(*)
     FROM TRANS
     GROUP BY ACCOUNTID, LOCATIONID, YEAR )
     DATA INITIALLY DEFERRED
     REFRESH DEFERRED
     MAINTAINED BY SYSTEM
     ENABLE QUERY OPTIMIZATION;
Snowflake
CREATE TABLE TRANSCNT (ACCTID, LOCID, YEAR, CNT) AS
  (SELECT ACCOUNTID, LOCATIONID, YEAR, COUNT(*)
     FROM TRANS
     GROUP BY ACCOUNTID, LOCATIONID, YEAR )
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0021 - MATERIALIZED QUERY IS NOT SUPPORTED ***/!!!
     DATA INITIALLY DEFERRED
     REFRESH DEFERRED
     MAINTAINED BY SYSTEM
     ENABLE QUERY OPTIMIZATION
;

Empfehlungen

  • Convert to a Snowflake materialized view if you need automatic refresh. Use CREATE MATERIALIZED VIEW with appropriate refresh settings

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-DB0022

The use of With Select Analyzed Table is not supported in Snowflake

Schweregrad

High

Beschreibung

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.

Codebeispiel

DB2
WITH sas_score_in (c1,c2) AS
  (SELECT c1,c2 FROM t1)
  SELECT *
    FROM sas_score_in ANALYZE_TABLE(
    IMPLEMENTATION 'PROVIDER=SAS; ROUTINE_SOURCE_TABLE=ETLIN.SOURCE_TABLE; ROUTINE_SOURCE_NAME=SCORING_FUN3;');
Snowflake
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0022 - WITH SELECT ANALYZED TABLE IS NOT SUPPORTED ***/!!!
WITH sas_score_in (c1,c2) AS
  (SELECT c1,c2 FROM t1)
  SELECT *
    FROM sas_score_in ANALYZE_TABLE(
    IMPLEMENTATION 'PROVIDER=SAS; ROUTINE_SOURCE_TABLE=ETLIN.SOURCE_TABLE; ROUTINE_SOURCE_NAME=SCORING_FUN3;');

Empfehlungen

  • 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 view

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.