SnowConvert AI - Sybase IQ 문제

참고

변환 범위

Sybase IQ용 SnowConvert AI는 현재 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
);
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 고유 제약 조건입니다.

심각도

높음

설명

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

지원되지 않는 구문 Table 함수는 OVER 식과 함께 사용할 수 없습니다

심각도

높음

설명

Snowflake는 테이블 반환 함수 호출에서 Windows 사양을 지원하지 않습니다.

코드 예제

입력 코드:
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 절을 사용하여 테이블을 필터링하고 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

모범 사례