동적 테이블에 대해 지원되는 쿼리

동적 테이블은 수학 연산, 문자열 함수, 날짜 함수 등을 포함한 표준 SQL 식과 Snowflake 지원 함수를 지원합니다. 이 항목에서는 증분 및 전체 새로 고침 모드에서 동적 테이블이 지원하는 식, 구조체, 함수, 연산자 및 절에 대해 설명합니다.

쿼리가 증분 새로 고침에 지원되지 않는 식, 키워드, 연산자 또는 절을 사용하는 경우 자동 새로 고침 프로세스는 대신 전체 새로 고침을 사용하므로 추가 비용이 발생 할 수 있습니다.

지원되는 데이터 타입

동적 테이블은 증분 및 전체 새로 고침 모두에 대해 모든 Snowflake SQL 데이터 타입 을 지원합니다.

  • 정형 데이터 타입

  • 지리공간 데이터 타입(전체 새로 고침만 해당).

증분 및 전체 새로 고침 모드에서 지원되는 쿼리

키워드

Incremental Refresh Mode

Full Refresh Mode

DISTINCT

지원됨

지원됨

외부 함수

지원되지 않음

지원되지 않음

FROM

소스 테이블, 뷰, Snowflake 관리 Apache Iceberg™ 테이블 및 기타 동적 테이블.

FROM 절 외부의 하위 쿼리(예: WHERE EXISTS)는 지원되지 않습니다.

지원됨

GROUP BY

지원됨

지원됨

CROSS JOIN

지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다.

지원됨

INNER JOIN

지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다.

지원됨

LATERAL JOIN

지원 안 됨. 그러나 FLATTEN() 과 함께 LATERAL 을 사용할 수 있습니다. 예:

CREATE TABLE persons
 AS
  SELECT column1 AS id, parse_json(column2) AS entity
  FROM values
   (12712555,
   '{ name:  { first: "John", last: "Smith"},
     contact: [
     { business:[
       { type: "phone", content:"555-1234" },
       { type: "email", content:"j.smith@example.com" } ] } ] }'),
   (98127771,
    '{ name:  { first: "Jane", last: "Doe"},
     contact: [
     { business:[
       { type: "phone", content:"555-1236" },
       { type: "email", content:"j.doe@example.com" } ] } ] }');
Copy
CREATE DYNAMIC TABLE my_dynamic_table
 TARGET_LAG = DOWNSTREAM
 WAREHOUSE = mywh
 AS
  SELECT p.id, f.value, f.path
  FROM persons p,
  LATERAL FLATTEN(input => p.entity) f;
Copy

증분 새로 고침과 함께 래터럴 데이터 스큐를 사용하는 경우 다음 동작에 유의하십시오.

  • 래터럴 데이터 스큐 조인에서 데이터 스큐 SEQ 열의 선택이 지원되지 않습니다.

  • AUTO 매개 변수를 사용할 때, 다른 제한에 의해 방해받지 않는 한, Snowflake는 일반적으로 래터럴 데이터 스큐 조인이 있는 쿼리에 대해 증분 새로 고침을 선택합니다.

지원됨.

OUTER-EQUI JOIN.

지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다.

지원됨

[{LEFT | RIGHT | FULL }] OUTER JOIN

다음은 지원되지 않습니다.

  • 양쪽이 동일한 테이블인 외부 조인.

  • 양쪽이 모두 GROUP BY 절이 있는 하위 쿼리인 외부 조인.

  • 같지 않은 조건자를 가진 외부 조인.

그렇지 않으면 외부 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트가 쿼리 결과에 반영됩니다.

지원됨

ML 또는 LLM 함수

지원되지 않음

지원됨

PIVOTUNPIVOT

지원되지 않음

지원되지 않음

SAMPLE / TABLESAMPLE

지원되지 않음

지원되지 않음

스칼라 집계

지원됨

지원됨

SELECT

결정적 기본 제공 함수 및 변경이 불가능한 사용자 정의 함수 를 사용하는 식을 포함한 식.

지원됨

세트 연산자 (UNION, MINUS, EXCEPT, INTERSECT)

지원되지 않음

지원됨

시퀀스.

지원되지 않음

지원되지 않음

모든 하위 쿼리 연산자.

지원되지 않음

지원됨

UNION ALL

지원됨

지원됨

사용자 정의 함수 (UDFs)

다음 제한 사항을 제외하고 지원됩니다.

  • VOLATILE 매개 변수를 지정하는 Python, Java, Scala 또는 Javascript로 작성된 UDFs 는 지원되지 않습니다.

  • 하위 쿼리를 포함하는 SQL 로 작성된 UDFs 는 지원되지 않습니다(예: SELECT 문).

  • 증분 새로 고침을 사용하는 동적 테이블이 사용 중일 때 IMMUTABLE UDF 를 교체하면 새로 고침이 실패합니다.

  • 외부 스테이지에서 UDFs 가져오기는 지원되지 않습니다.

지원됨

사용자 정의 테이블 함수 (UDTFs)

다음 제한 사항을 제외하고 지원됩니다.

  • SQL 로 작성된 UDTFs 는 지원되지 않습니다.

  • UDTFs 에서 읽는 SELECT 블록은 열을 명시적으로 지정해야 하며 * 를 사용할 수 없습니다.

지원됨

WHERE / HAVING / QUALIFY

SELECT 에서 유효한 식과 동일한 필터는 지원됩니다.

CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE 함수 및 해당 별칭을 가진 필터는 지원됩니다.

지원됨.

CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE 함수 및 해당 별칭을 가진 필터는 지원됩니다.

윈도우 함수

다음 제한 사항을 제외하고 지원됩니다.

  • 동일한 동적 테이블 정의에서 PARTITION BY 절이 동일하지 않거나 별도의 쿼리 블록에 표시되는 여러 개의 윈도우 함수는 지원되지 않습니다.

  • 슬라이딩 윈도우 프레임과 함께 PERCENT_RANK, DENSE_RANK, RANK 윈도우 함수 사용은 지원되지 않습니다.

  • ANY_VALUE 사용은 비결정적 함수이므로 지원되지 않습니다.

지원됨

WITH

하위 쿼리에서 증분 새로 고침 지원 기능을 사용하는 CTEs(공통 테이블 식).

지원됨

증분 및 전체 새로 고침 모드에서 지원되는 비결정적 함수 지원

비결정적 함수

Incremental Refresh Mode

Full Refresh Mode

ANY_VALUE

지원되지 않음

지원되지 않음

CLASSIFY_TEXT(SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

COMPLETE (SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

CURRENT_ACCOUNT

지원되지 않음

지원됨

CURRENT_DATE (및 별칭)

지원됨

지원됨

CURRENT_REGION

지원되지 않음

지원됨

CURRENT_ROLE

지원되지 않음

지원됨

CURRENT_TIME (및 별칭)

지원됨

지원됨

CURRENT_TIMESTAMP (및 별칭)

지원됨

지원됨

CURRENT_USER 에 의존하는 함수.

지원 안 됨. 동적 테이블 새로 고침은 특별한 SYSTEM 사용자가 있는 소유자 역할을 수행합니다.

지원 안 됨. 동적 테이블 새로 고침은 특별한 SYSTEM 사용자가 있는 소유자 역할을 수행합니다.

CURRENT_WAREHOUSE

지원되지 않음

지원됨

DENSE_RANK

지원되지 않음

지원됨

EMBED_TEXT_768(SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

EMBED_TEXT_1024(SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

EXTRACT_ANSWER (SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

FINETUNE(SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

FIRST_VALUE

지원됨

지원됨

LAST_VALUE

지원됨

지원됨

NTH_VALUE

지원됨

지원됨

RANK

지원되지 않음

지원됨

ROW_NUMBER

지원되지 않음

지원됨

SENTIMENT (SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

시퀀스 함수 (예: SEQ1, SEQ2)

지원되지 않음

지원됨

TRANSLATE (SNOWFLAKE.CORTEX)

지원되지 않음

지원됨

VOLATILE 사용자 정의 함수

지원되지 않음

지원됨