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절 내부에 보안 레이블이 하나만 있는지 확인합니다.추가 지원이 필요한 경우 snowconvert-support@snowflake.com으로 이메일을 보내주세요.
SSC-EWI-DB0003¶
PERIOD 정의는 SNOWFLAKE에서 지원되지 않습니다.
심각도¶
Medium
설명¶
Snowflake에는 DB2 Temporal 테이블과 동등한 기능이 없습니다. 애플리케이션 기간 또는 시스템 기간 Temporal 테이블 선언이 CREATE TABLE 열에서 발견되는 경우, 해당 열은 결과 스크립트에서 주석 처리됩니다. Temporal 테이블이 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¶
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 문의 중간 결과 테이블에 FROM 하위 테이블을 포함하는 데 사용됩니다. 하위 테이블은 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¶
뷰에서 데이터 조작이 지원되지 않습니다
심각도¶
Medium
설명¶
이 메시지는 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
심각도¶
Medium
설명¶
이 메시지는 FROM 절에서 DATA CHANGE TABLE REFERENCE가 발견된 경우에 표시됩니다. DATA CHANGE TABLE REFERENCE는 DATA CHANGE TABLE REFERENCE에 포함된 UPDATE, DELETE, INSERT 문에 의해 변경된 행으로 구성된 중간 테이블을 지정합니다.
Snowflake에서는 행을 수정하는 동시에 테이블의 결과 세트를 반환할 수 없으므로 이 기능이 지원되지 않으며, SELECT가 주석 처리됩니다.
코드 예제¶
DB2 입력 코드:¶
Select 문¶
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 문¶
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¶
INSERT 대상 이름으로 수행하는 쿼리는 지원되지 않습니다.
심각도¶
Medium
설명¶
DB2와 달리, Snowflake는 INSERT 문을 대상으로 SELECT 쿼리 결과를 사용할 수 없으며, 대신 데이터를 테이블 또는 구체화된 뷰에 직접 삽입해야 합니다.
코드 예제¶
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 정의는 SUPPORTED에서 지원되지 않습니다.
심각도¶
Medium
설명¶
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.
심각도¶
Medium
설명¶
Snowflake는 FROM 문 및 UDATE 문에서 커서 사용을 지원하지 않습니다. 해당 문이 부분적으로 마이그레이션되면 커서가 포함된 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
심각도¶
Medium
설명¶
이 메시지는 설정 중인 정형화 타입의 특성을 지정하는 경우에 표시됩니다(특성 할당이라고 함). 정형화 타입은 상위 유형에서 속성을 상속할 수 있는 하위 유형일 수 있습니다.
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¶
뷰에서 데이터 조작이 지원되지 않습니다
심각도¶
Medium
설명¶
이 메시지는 할당 절에 Snowflake에서 지원하지 않는 식이 포함된 경우에 표시됩니다.
사례¶
Update 문¶
할당 절이 행 선택의 다중 열 할당을 제시하는 경우, 이에 대한 예제는 코드 예제 섹션에서 확인할 수 있습니다.
코드 예제¶
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¶
INSERTION 대상에 유효하지 않은 이름이 있습니다. 뷰 이름 사용은 SNOWFLAKE에서 지원되지 않습니다
심각도¶
Medium
설명¶
Snowflake는 INSERT 대상 이름 문에서 뷰 이름 사용을 지원하지 않습니다.
코드 예제¶
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¶
DELETE 대상에 유효하지 않은 이름이 있습니다. 뷰 이름 사용은 SNOWFLAKE에서 지원되지 않습니다
심각도¶
Medium
설명¶
Snowflake는 DELETE 대상 이름 문에서 뷰 이름 사용을 지원하지 않습니다. 이러한 이유로 결과 쿼리가 유효하지 않을 수 있습니다.
코드 예제¶
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¶
외부 테이블 참조의 사용은 SNOWFLAKE에서 지원되지 않습니다
심각도¶
Medium
설명¶
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으로 이메일을 보내주세요.