SnowConvert AI - Sybase IQ の問題

注釈

変換範囲

SnowConvert AI for Sybase IQ currently supports assessment and translation for TABLES, VIEWS, STORED PROCEDURES, and FUNCTIONS. Although SnowConvert AI can recognize other types of statements, they are not fully supported.

このページでは、SnowConvert AI がSybase IQ の文法要素をSnowflakeの同等要素に変換する方法について、包括的なリファレンスを提供します。この翻訳リファレンスでは、コード例、機能的同等性の結果、主な相違点、推奨事項、既知の問題、および各変換の説明をご覧いただけます。

SSC-EWI-SY0001

Snowflakeでサポートされていないデフォルト値。

重大性

説明

Snowflakeは、以下のデフォルト値の使用をサポートしていません。

  • CURRENT REMOTE USER

  • LAST に USER

  • CURRENT に PUBLISHER

コードの例

入力コード:
Sybase
 create table t1
(
  col1 varchar default current remote user,
  col2 varchar default last user,
  col3 varchar default current publisher
);
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0002

Snowflakeでサポートされていないリモートテーブル構文。

重大性

説明

Sybase IQ リモートテーブル構文はSnowflakeではサポートされていません。

コードの例

入力コード:
Sybase
 CREATE TABLE remote_data(
    remote_id INT
) 
AT 'remote_server;remote_db;owner;remote_object';
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0003

Snowflakeでサポート対象外のIQ UNIQUE制約。

重大性

説明

IQ UNIQUE 制約は、列内の明確な値の数の推定値を指定します。Snowflakeにはこの機能をエミュレートする制約はありません。

コードの例

入力コード:
Sybase
 CREATE TABLE T1 (
  DATA VARCHAR IQ UNIQUE(10)
)
;
Copy
生成されたコード:
Snowflake
 CREATE OR REPLACE TABLE T1 (
  DATA VARCHAR 
  !!!RESOLVE EWI!!! /*** SSC-EWI-SY0003 - UNSUPPORTED IQ UNIQUE CONSTRAINT ***/!!!
              IQ UNIQUE(10)
);
Copy

ベストプラクティス

SSC-EWI-SY0004

サポート対象外の構文テーブル関数は、パラメーターとしてクエリを受け取ることができません。

重大性

説明

Snowflakeは、テーブル値関数呼び出しのパラメーターとして RESULTSET を渡すことをサポートしていません。

コードの例

入力コード:
Sybase
 SELECT 
*
FROM 
MyProcedure(TABLE (SELECT * FROM TABLE1));
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0005

サポート対象外の構文テーブル関数は、OVER句を含む式では使用できません。

重大性

説明

Snowflakeは、テーブル値関数呼び出しでのウィンドウ仕様をサポートしていません。

コードの例

入力コード:
Sybase
 SELECT * FROM 
MyProcedure(
TABLE (SELECT * FROM TABLE1) 
OVER (PARTITION BY Col1 ORDER BY Col2 DESC));
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0006

OPENSTRINGはSnowflakeではサポートされていません。

重大性

説明

Snowflakeは OPENSTRING の機能をサポートしていません。

コードの例

入力コード:
Sybase
 SELECT * FROM 
OPENSTRING (FILE '/path/to/file.txt') 
WITH (Col1 INT, Col2 VARCHAR(20)) AS OS;
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0007

DML 派生テーブルはSnowflakeではサポートされていません。

重大性

説明

Sybaseでは、実行中にDML派生テーブルで指定された DML ステートメントが最初に実行され、その DML の影響を受けた行が REFERENCING 句で記述された列を持つ仮テーブルに実体化されます。仮テーブルはDML派生テーブルの結果セットを表します。Snowflakeはこの動作をサポートしていません。

コードの例

入力コード:
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
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0008

CONTAINS句はSnowflakeではサポートされていません。

重大性

説明

Sybaseでは、テーブル名に続けて CONTAINS 句を使用すると、テーブルがフィルタリングされ、制約クエリで指定した全文クエリに一致する行のみが返されます。テーブルのマッチするすべての行が、スコア相関名を使って参照できるスコア列とともに返されます。Snowflakeはこの動作をサポートしていません。

コードの例

入力コード:
Sybase
 SELECT * FROM TABLE1 CONTAINS (TextColumn, 'search term') AS Score;
Copy
生成されたコード:
Snowflake
 SELECT
  *
FROM
  TABLE1
         !!!RESOLVE EWI!!! /*** SSC-EWI-SY0008 - CONTAINS CLAUSE NOT SUPPORTED IN SNOWFLAKE ***/!!!
         CONTAINS(TextColumn,'search term') AS Score;
Copy

ベストプラクティス

SSC-EWI-SY0009

KEY JOINはSnowflakeではサポートされていません。

重大性

説明

Snowflakeは KEY JOIN をサポートしていません。ON CLAUSE が指定されると、KEY キーワードは削除され、INNER JOIN として扱われます。

コードの例

入力コード:
Sybase
 SELECT * FROM TABLE1 KEY JOIN Table2 ON Table1.ID = Table2.ID;
SELECT * FROM TABLE1 KEY JOIN Table2;
Copy
生成されたコード:
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

ベストプラクティス

SSC-EWI-SY0010

The temporary option is not supported in Snowflake.

重大性

説明

Snowflake does not support the SET TEMPORARY OPTION statement used in Sybase IQ to configure session-level options.

コードの例

入力コード:
Sybase
set temporary option chained = 'OFF'
Copy
生成されたコード:
Snowflake
--        !!!RESOLVE EWI!!! /*** SSC-EWI-SY0010 - THE TEMPORARY OPTION 'chained' IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
--        set temporary option chained = 'OFF'
Copy

ベストプラクティス