SnowConvert AI – Probleme bei Synbase IQ

Bemerkung

Konvertierungsbereich

SnowConvert AI für Synbase IQ unterstützt derzeit die Bewertung und Übersetzung für TABLES und VIEWS. Obwohl SnowConvert AI zwar andere Arten von Anweisungen erkennen kann, werden diese nicht vollständig unterstützt.

Diese Seite bietet eine umfassende Referenz darüber, wie SnowConvert AI grammatikalische Synbase IQ-Syntaxelemente in Snowflake-Äquivalente übersetzt. In dieser Übersetzungsreferenz finden Sie Codebeispiele, Ergebnisse der Funktionsäquivalenz, wichtige Unterschiede, Empfehlungen, bekannte Probleme und Beschreibungen der einzelnen Transformationen.

SSC-EWI-SY0001

Nicht unterstützter Standardwert in Snowflake.

Schweregrad

Hoch

Beschreibung

Snowflake unterstützt die Verwendung der folgenden Standardwerte nicht:

  • CURRENT REMOVE USER

  • LAST-USER

  • CURRENT-PUBLISHER

Codebeispiele

Eingabecode:
Sybase
 create table t1
(
  col1 varchar default current remote user,
  col2 varchar default last user,
  col3 varchar default current publisher
);
Copy
Generierter Code:
Snowflake
 CREATE OR REPLACE TABLE t1 (
  col1 VARCHAR default
                       !!!RESOLVE EWI!!! /*** SSC-EWI-SY0001 - UNSUPPORTED DEFAULT VALUE CURRENT REMOTE USER IN SNOWFLAKE ***/!!!
                       current remote user,
  col2 VARCHAR default
                       !!!RESOLVE EWI!!! /*** SSC-EWI-SY0001 - UNSUPPORTED DEFAULT VALUE LAST USER IN SNOWFLAKE ***/!!!
                       last user,
  col3 VARCHAR default
                       !!!RESOLVE EWI!!! /*** SSC-EWI-SY0001 - UNSUPPORTED DEFAULT VALUE CURRENT PUBLISHER IN SNOWFLAKE ***/!!!
                       current publisher
)
;
Copy

Best Practices

SSC-EWI-SY0002

Nicht unterstützte Remotetabellen-Syntax in Snowflake.

Schweregrad

Hoch

Beschreibung

Synbase IQ-Remote-Tabellensyntax wird in Snowflake nicht unterstützt.

Codebeispiele

Eingabecode:
Sybase
 CREATE TABLE remote_data(
    remote_id INT
) 
AT 'remote_server;remote_db;owner;remote_object';
Copy
Generierter Code:
Snowflake
 CREATE OR REPLACE TABLE remote_data (
    remote_id INT
)
    !!!RESOLVE EWI!!! /*** SSC-EWI-SY0002 - UNSUPPORTED REMOTE TABLE SYNTAX ***/!!!
AT 'remote_server;remote_db;owner;remote_object'
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "sybase",  "convertedOn": "07/02/2025",  "domain": "no-domain-provided" }}'
;
Copy

Best Practices

SSC-EWI-SY0003

Nicht unterstützte eindeutige IQ-Einschränkung in Snowflake.

Schweregrad

Hoch

Beschreibung

Die IQ UNIQUE-Einschränkung gibt eine Schätzung der Anzahl unterschiedlicher Werte in einer Spalte an. Snowflake enthält keine Einschränkung, die diese Funktionalität emulieren kann.

Codebeispiele

Eingabecode:
Sybase
 CREATE TABLE T1 (
  DATA VARCHAR IQ UNIQUE(10)
)
;
Copy
Generierter Code:
Snowflake
 CREATE OR REPLACE TABLE T1 (
  DATA VARCHAR 
  !!!RESOLVE EWI!!! /*** SSC-EWI-SY0003 - UNSUPPORTED IQ UNIQUE CONSTRAINT ***/!!!
              IQ UNIQUE(10)
);
Copy

Best Practices

SSC-EWI-SY0004

Nicht unterstützte Syntaxtabellenfunktion kann keine Abfrage als Parameter erhalten.

Schweregrad

Hoch

Beschreibung

Snowflake unterstützt nicht die Übergabe von RESULTSET als Parameter in einem Tabellenwert-Funktionsaufruf.

Codebeispiele

Eingabecode:
Sybase
 SELECT 
*
FROM 
MyProcedure(TABLE (SELECT * FROM TABLE1));
Copy
Generierter Code:
Snowflake
 SELECT
*
FROM
TABLE(MyProcedure(
!!!RESOLVE EWI!!! /*** SSC-EWI-SY0004 - UNSUPPORTED SYNTAX TABLE FUNCTION CAN'T RECEIVE A QUERY AS PARAMETER ***/!!!
TABLE(SELECT * FROM TABLE1)));
Copy

Best Practices

SSC-EWI-SY0005

Nicht unterstützte Syntax: Tabellenfunktion kann nicht mit Überausdruck verwendet werden

Schweregrad

Hoch

Beschreibung

Snowflake unterstützt keine Windows-Spezifikation für einen Tabellenwert-Funktionsaufruf.

Codebeispiele

Eingabecode:
Sybase
 SELECT * FROM 
MyProcedure(
TABLE (SELECT * FROM TABLE1) 
OVER (PARTITION BY Col1 ORDER BY Col2 DESC));
Copy
Generierter Code:
Snowflake
         SELECT
          *
        FROM
          TABLE(MyProcedure(
          !!!RESOLVE EWI!!! /*** SSC-EWI-SY0004 - UNSUPPORTED SYNTAX TABLE FUNCTION CAN'T RECEIVE A QUERY AS PARAMETER ***/!!!
          TABLE(
            SELECT
              *
            FROM
              TABLE1
          )
          !!!RESOLVE EWI!!! /*** SSC-EWI-SY0005 - UNSUPPORTED SYNTAX TABLE FUNCTION CAN'T BE USED WITH OVER EXPRESSION ***/!!!
          OVER (
          PARTITION BY
            Col1
          ORDER BY Col2 DESC)));
Copy

Best Practices

SSC-EWI-SY0006

Offene Zeichenfolgen werden in Snowflake nicht unterstützt.

Schweregrad

Hoch

Beschreibung

Snowflake unterstützt die Funktion OPENSTRING nicht.

Codebeispiele

Eingabecode:
Sybase
 SELECT * FROM 
OPENSTRING (FILE '/path/to/file.txt') 
WITH (Col1 INT, Col2 VARCHAR(20)) AS OS;
Copy
Generierter Code:
Snowflake
 SELECT
*
FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-SY0006 - OPEN STRING IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
OPENSTRING (FILE '/path/to/file.txt')
WITH (Col1 INT, Col2 VARCHAR(20)) AS OS;
Copy

Best Practices

SSC-EWI-SY0007

Abgeleitete DML-Tabelle wird in Snowflake nicht unterstützt.

Schweregrad

Hoch

Beschreibung

In Sybase wird während der Ausführung die DML-Anweisung, die in der DML-abgeleiteten Tabelle angegeben ist, zuerst ausgeführt. Die von dieser DML betroffenen Zeilen materialisieren sich in einer temporären Tabelle, deren Spalten durch die REFERENCING-Klausel beschrieben werden. Die temporäre Tabelle stellt das Resultset von dml-derived-table dar. Snowflake unterstützt dieses Verhalten nicht.

Codebeispiele

Eingabecode:
Sybase
 SELECT * FROM (INSERT INTO TABLE1 (Col1, Col2) VALUES (1, 'test')) REFERENCING (FINAL AS F);
SELECT * FROM (DELETE FROM TABLE1) REFERENCING (FINAL AS F);
SELECT * FROM (UPDATE TABLE1 SET A = 1) REFERENCING (FINAL AS F);
Copy
Generierter Code:
Snowflake
 SELECT
  *
FROM
  !!!RESOLVE EWI!!! /*** SSC-EWI-SY0007 - DML DERIVED TABLE NOT SUPPORTED IN SNOWFLAKE ***/!!!
  (
    INSERT INTO TABLE1 (Col1, Col2) VALUES (1, 'test')
  )
  REFERENCING
  (FINAL AS F);

SELECT
  *
FROM
  !!!RESOLVE EWI!!! /*** SSC-EWI-SY0007 - DML DERIVED TABLE NOT SUPPORTED IN SNOWFLAKE ***/!!!
  (
    DELETE FROM TABLE1
  )
  REFERENCING
  (FINAL AS F);

SELECT
  *
FROM
  !!!RESOLVE EWI!!! /*** SSC-EWI-SY0007 - DML DERIVED TABLE NOT SUPPORTED IN SNOWFLAKE ***/!!!
  (
    UPDATE TABLE1
      SET
        A = 1
  )
  REFERENCING
  (FINAL AS F);
Copy

Best Practices

SSC-EWI-SY0008

Enthält eine Klausel, die in Snowflake nicht unterstützt wird.

Schweregrad

Hoch

Beschreibung

In Sybase folgt die CONTAINS-Klausel auf einen Tabellennamen, um die Tabelle zu filtern und nur jene Zeilen zurückzugeben, die der mit contains-query angegebenen Volltextabfrage entsprechen. Jede übereinstimmende Zeile der Tabelle wird zusammen mit einer Punktzahlenspalte zurückgegeben, auf die mit dieser Methode verwiesen werden kann. Snowflake unterstützt dieses Verhalten nicht.

Codebeispiele

Eingabecode:
Sybase
 SELECT * FROM TABLE1 CONTAINS (TextColumn, 'search term') AS Score;
Copy
Generierter Code:
Snowflake
 SELECT
  *
FROM
  TABLE1
         !!!RESOLVE EWI!!! /*** SSC-EWI-SY0008 - CONTAINS CLAUSE NOT SUPPORTED IN SNOWFLAKE ***/!!!
         CONTAINS(TextColumn,'search term') AS Score;
Copy

Best Practices

SSC-EWI-SY0009

Key Join wird in Snowflake nicht unterstützt.

Schweregrad

Hoch

Beschreibung

Snowflake unterstützt KEY JOIN nicht. Wenn die ON CLAUSE angegeben ist, wird das KEY-Schlüsselwort entfernt und als INNER JOIN behandelt.

Codebeispiele

Eingabecode:
Sybase
 SELECT * FROM TABLE1 KEY JOIN Table2 ON Table1.ID = Table2.ID;
SELECT * FROM TABLE1 KEY JOIN Table2;
Copy
Generierter Code:
Snowflake
   SELECT
    *
  FROM
    TABLE1
    JOIN
      Table2
      ON Table1.ID = Table2.ID;
  
  SELECT
    *
  FROM
    TABLE1
    !!!RESOLVE EWI!!! /*** SSC-EWI-SY0009 - KEY JOIN NOT SUPPORTED IN SNOWFLAKE ***/!!!
    KEY JOIN
      Table2;
Copy

Best Practices