SnowConvert AI - Sybase IQ の問題¶
注釈
変換範囲
SnowConvert AI for SybaseIQ は現在、TABLES とVIEWS の評価と翻訳をサポートしています。SnowConvert AI は他のタイプのステートメントも認識できますが、完全にはサポートしていません。
このページでは、SnowConvert AI がSybase IQ の文法要素をSnowflakeの同等要素に変換する方法について、包括的なリファレンスを提供します。この翻訳リファレンスでは、コード例、機能的同等性の結果、主な相違点、推奨事項、既知の問題、および各変換の説明をご覧いただけます。
SSC-EWI-SY0001¶
Snowflakeでサポートされていないデフォルト値。
重大性¶
高
説明¶
Snowflakeは、以下のデフォルト値の使用をサポートしていません。
CURRENT REMOVE 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
);
生成されたコード:¶
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
)
;
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0002¶
Snowflakeでサポートされていないリモートテーブル構文。
重大性¶
高
説明¶
Sybase IQ リモートテーブル構文はSnowflakeではサポートされていません。
コードの例¶
入力コード:¶
Sybase¶
CREATE TABLE remote_data(
remote_id INT
)
AT 'remote_server;remote_db;owner;remote_object';
生成されたコード:¶
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" }}'
;
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0003¶
Snowflakeでサポート対象外のIQ UNIQUE制約。
重大性¶
高
説明¶
IQ UNIQUE 制約は、列内の明確な値の数の推定値を指定します。Snowflakeにはこの機能をエミュレートする制約はありません。
コードの例¶
入力コード:¶
Sybase¶
CREATE TABLE T1 (
DATA VARCHAR IQ UNIQUE(10)
)
;
生成されたコード:¶
Snowflake¶
CREATE OR REPLACE TABLE T1 (
DATA VARCHAR
!!!RESOLVE EWI!!! /*** SSC-EWI-SY0003 - UNSUPPORTED IQ UNIQUE CONSTRAINT ***/!!!
IQ UNIQUE(10)
);
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0004¶
サポート対象外の構文テーブル関数は、パラメーターとしてクエリを受け取ることができません。
重大性¶
高
説明¶
Snowflakeは、テーブル値関数呼び出しのパラメーターとして RESULTSET を渡すことをサポートしていません。
コードの例¶
入力コード:¶
Sybase¶
SELECT
*
FROM
MyProcedure(TABLE (SELECT * FROM TABLE1));
生成されたコード:¶
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)));
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0005¶
サポート対象外の構文テーブル関数は、OVER句を含む式では使用できません。
重大性¶
高
説明¶
Snowflakeは、テーブル値関数呼び出しでのウィンドウ仕様をサポートしていません。
コードの例¶
入力コード:¶
Sybase¶
SELECT * FROM
MyProcedure(
TABLE (SELECT * FROM TABLE1)
OVER (PARTITION BY Col1 ORDER BY Col2 DESC));
生成されたコード:¶
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)));
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0006¶
OPENSTRINGはSnowflakeではサポートされていません。
重大性¶
高
説明¶
Snowflakeは OPENSTRING の機能をサポートしていません。
コードの例¶
入力コード:¶
Sybase¶
SELECT * FROM
OPENSTRING (FILE '/path/to/file.txt')
WITH (Col1 INT, Col2 VARCHAR(20)) AS OS;
生成されたコード:¶
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;
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
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);
生成されたコード:¶
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);
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-SY0008¶
CONTAINS句はSnowflakeではサポートされていません。
重大性¶
高
説明¶
Sybaseでは、テーブル名に続けて CONTAINS 句を使用すると、テーブルがフィルタリングされ、制約クエリで指定した全文クエリに一致する行のみが返されます。テーブルのマッチするすべての行が、スコア相関名を使って参照できるスコア列とともに返されます。Snowflakeはこの動作をサポートしていません。
コードの例¶
入力コード:¶
Sybase¶
SELECT * FROM TABLE1 CONTAINS (TextColumn, 'search term') AS Score;
生成されたコード:¶
Snowflake¶
SELECT
*
FROM
TABLE1
!!!RESOLVE EWI!!! /*** SSC-EWI-SY0008 - CONTAINS CLAUSE NOT SUPPORTED IN SNOWFLAKE ***/!!!
CONTAINS(TextColumn,'search term') AS Score;
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
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;
生成されたコード:¶
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;
ベストプラクティス¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。