SnowConvert AI - IBM DB2 問題¶
SSC-EWI-DB0001¶
WITH ROW ACCESS POLICY CLAUSE DOES NOT SUPPORT MULTIPLE DECLARATION
重大性¶
低
説明¶
このメッセージは、 SnowConvert AI が同じ CREATE TABLE 句内で複数のセキュリティラベル列オプションを検出し、セキュリティラベルが行アクセスポリシー句に変換され、Snowflakeが複数の行アクセスポリシー宣言をサポートしていない場合に表示されます。したがって、複数のセキュリティラベルが見つかった場合は、この EWI でコメントアウトされます。
コード例¶
入力コード:¶
CREATE TABLE T1
(
COL1 VARCHAR(10) COLUMN SECURED WITH securityLabel1,
COL2 VARCHAR(10) COLUMN SECURED WITH securityLabel2
);
出力コード:¶
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
)
;
推奨事項¶
コードを見直して、
CREATE TABLE句の中にセキュリティラベルが1つだけあることを確認してくださいさらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0003¶
PERIOD DEFINITION IS NOT SUPPORTED IN SNOWFLAKE.
重大性¶
中
説明¶
DB2 一時テーブルは、Snowflakeでは機能的に同等なものはありません。アプリケーションピリオドまたはシステムピリオドの一時テーブル宣言が CREATE TABLE 列で見つかった場合、その列は結果のスクリプトからコメントアウトされます。一時テーブルはSnowflakeソリューションの一部ではないため、 SELECT ステートメントの動作はSnowflakeとは異なります。そのため、Selectステートメントが部分的に移行されると結果が異なります。詳細については、以下の例を参照してください。
Selectクエリ¶
SELECT
ID,
Start,
END
FROM
timetable
FOR system_time as of '2022-05-09-16.20.17.0';
結果¶
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 |
Selectステートメントを部分的に移行すると、以下のようにまったく異なる結果になります。
Selectクエリ¶
SELECT
ID,
Start,
END
FROM
timetable
-- FOR system_time as of '2022-05-09-16.20.17.0';
結果¶
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 |
コード例¶
DB2¶
テーブルを作成¶
CREATE TABLE TestTable (
COL1 DATE,
COL2 DATE,
PERIOD SYSTEM_TIME (COL1, COL2),
PERIOD BUSINESS_TIME (COL1, COL2)
Selectクエリ¶
SELECT
*
FROM
Table1
FOR SYSTEM_TIME AS of Value
Snowflake¶
テーブルを作成¶
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)
)
Selectクエリ¶
SELECT
*
FROM
Table1
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0003 - PERIOD SPECIFICATION IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
FOR SYSTEM_TIME AS of Value
推奨事項¶
Snowflakeでは、テーブルの履歴データを最大90日間保存することができます。これについては、Time Travelの理解と使用 を参照してください。
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0004¶
OUTER TABLE REFERENCE NOT APPLICABLE IN SNOWFLAKE
重大性¶
低
説明¶
このメッセージは、 SELECT ステートメント内の FROM 句で OUTER テーブルリファレンスが見つかった場合に表示されます。この句は、 SELECT ステートメントの中間結果テーブルにサブテーブルを含めるために使用されます。サブテーブルは、 DB2 データベース内の 型付きテーブル に関連しており、 CREATE TABLE ステートメントの OF 句 を使用して作成されますが、これもSnowflakeではサポートされていません。
コード例¶
入力コード:¶
Select * from OUTER(ATable);
Select * from ONLY(ATable);
出力コード:¶
Select * from
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0004 - OUTER TABLE REFERENCE IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
OUTER(ATable) AS AliasName;
Select * from
ATable;
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0005¶
MANIPULATION OF DATA IN VIEWS IS NOT SUPPORTED
重大性¶
中
説明¶
このメッセージは、 CREATE VIEW 内の行のデータ操作に関連するノードまたは句が CREATE VIEW 内に見つかった場合に表示されます。DB2 では、 VIEW から直接行の挿入や更新ができますが、Snowflakeではサポートされていません。このため、この機能に関連するノードや句はコメント化され、 EWI が追加されています。
コード例¶
入力コード:¶
CREATE VIEW TestTableId2 AS Select * from TestTableId1 WITH ROW MOVEMENT;
出力コード:¶
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;
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0006¶
INTERMEDIATE RESULT TABLE IS NOT SUPPORTED
重大性¶
中
説明¶
このメッセージは、 FROM 句に DATA CHANGE TABLE REFERENCE が見つかった場合に表示されます。DATA CHANGE TABLE REFERENCE は中間テーブルを指定し、 DATA CHANGE TABLE REFERENCE に含まれる UPDATE 、 DELETE 、または INSERT ステートメントによって変更される行で構成されます。
Snowflakeでは、行を変更して同時にテーブルの結果セットを返すことができないため、これはサポートされていません。そのため、Selectはコメント化されています。
コード例¶
DB2 入力コード:¶
ステートメントを選択¶
SELECT
*
FROM
OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Updateステートメント¶
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出力コード:¶
ステートメントを選択¶
SELECT
*
FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0006 - INTERMEDIATE RESULT TABLE IS NOT SUPPORTED. ***/!!!
OLD Table(UPDATE T1 SET NAME = 'Tony' where ID = 4)
Updateステートメント¶
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;
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0007¶
QUERY AS INSERT TARGET NAME IS NOT SUPPORTED.
重大性¶
中
説明¶
DB2 とは異なり、Snowflakeでは SELECT クエリ結果を INSERT ステートメントのターゲットとして使用することはできず、代わりにデータをテーブルまたはマテリアライズドビューに直接挿入する必要があります。
コード例¶
DB2¶
クエリ¶
INSERT INTO
(SELECT * FROM SOMEOTHERTABLE)
VALUES
(DEFAULT);
Snowflake¶
クエリ¶
INSERT INTO
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0007 - QUERY AS INSERT TARGET NAME IS NOT SUPPORTED ***/!!!
(SELECT * FROM SOMEOTHERTABLE)
VALUES
(DEFAULT);
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0008¶
DELETE FROM SELECT STATEMENT IS NOT SUPPORTED.
重大性¶
中
説明¶
Snowflakeは、DeleteステートメントのFrom句でのselectクエリの使用をサポートしていません。Deleteステートメントが部分的に移行されると、From句が空になるため、不完全なステートメントになります。
コード例¶
DB2¶
Selectクエリ¶
DELETE FROM (
SELECT * FROM table1
)
Snowflake¶
Selectクエリ¶
DELETE FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0008 - DELETE FROM SELECT STATEMENT IS NOT SUPPORTED. ***/!!!
(
SELECT * FROM table1
)
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0009¶
POSITIONED STATEMENT IS NOT SUPPORTED.
重大性¶
中
説明¶
Snowflakeは、DeleteステートメントおよびUpdateステートメントの一部としてのカーソルの使用をサポートしていません。ステートメントが部分的に移行された場合、カーソルが一部を形成しているwhere句が削除され、テーブル全体を削除または更新することが危険になります。
コード例¶
DB2¶
Deleteステートメント¶
DELETE FROM table1
WHERE CURRENT OF cursor1
Updateステートメント¶
UPDATE table1
SET col1 = 1
WHERE CURRENT OF cursor1
Snowflake¶
Deleteステートメント¶
DELETE FROM
table1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!! CURRENT OF cursor1
Updateステートメント¶
UPDATE TABLE1
SET Column1 = 1
WHERE
!!!RESOLVE EWI!!! /*** SSC-EWI-DB0009 - POSITIONED CURRENT OF IS NOT SUPPORTED. ***/!!!
CURRENT OF cursor1;
推奨事項¶
より詳しいサポートについては、 support@mobilize.net までメールでお問い合わせいただくか、 フォーラムにメッセージを投稿 してください。Mobilize.Netとサポート契約を結んでいる場合は、担当のセールスエンジニアにご連絡いただくと、サポートのニーズに対応できます。
SSC-EWI-DB0010¶
ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE
重大性¶
中
説明¶
このメッセージは、設定する構造化された型の属性を指定するときに表示されます(属性割り当てと呼ばれます)。構造化された型は、スーパータイプから属性を継承できるサブタイプになることができます。#x20;
Snowflakeはこのような構造をサポートしていません。
構造化された型についての詳細は こちら をクリックしてください
コード例¶
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
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0011¶
ASSIGNMENT CLAUSE TYPE IS NOT SUPPORTED IN SNOWFLAKE
重大性¶
中
説明¶
このメッセージは、代入句にSnowflakeでサポートされていない式が含まれている場合に表示されます
事例¶
ステートメントの更新¶
代入句が行選択の複数列代入を示す場合、この例はコード例セクションにあります。
コード例¶
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';
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0012¶
INVALID NAME AS INSERTION TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
重大性¶
中
説明¶
Snowflakeは、insert target nameステートメントでのビュー名の使用をサポートしていません。
コード例¶
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);
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0013¶
INVALID NAME AS DELETE TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
重大性¶
中
説明¶
Snowflakeは、delete target nameステートメントでのビュー名の使用をサポートしていません。このため、結果クエリは有効ではありませんでした
コード例¶
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
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-EWI-DB0014¶
THE USE OF EXTERNAL TABLE REFERENCES IS NOT SUPPORTED IN SNOWFLAKE
重大性¶
中
説明¶
SnowflakeはSelectステートメントでの外部テーブルの使用をサポートしていません。このため、結果クエリは有効ではありませんでした
コード例¶
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)
推奨事項¶
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください