동적 테이블에 대해 지원되는 쿼리¶
동적 테이블은 수학 연산, 문자열 함수, 날짜 함수 등을 포함한 표준 SQL 식과 Snowflake 지원 함수를 지원합니다. 이 항목에서는 증분 및 전체 새로 고침 모드에서 동적 테이블이 지원하는 식, 구조체, 함수, 연산자 및 절에 대해 설명합니다.
쿼리가 증분 새로 고침에 지원되지 않는 식, 키워드, 연산자 또는 절을 사용하는 경우 자동 새로 고침 프로세스는 대신 전체 새로 고침을 사용하므로 추가 비용이 발생 할 수 있습니다.
지원되는 데이터 타입¶
동적 테이블은 증분 및 전체 새로 고침 모두에 대해 모든 Snowflake SQL 데이터 타입 을 지원합니다.
정형 데이터 타입
지리공간 데이터 타입(전체 새로 고침만 해당).
증분 및 전체 새로 고침 모드에서 지원되는 쿼리¶
키워드 |
Incremental Refresh Mode |
Full Refresh Mode |
---|---|---|
지원됨 |
지원됨 |
|
지원되지 않음 |
지원되지 않음 |
|
소스 테이블, 뷰, Snowflake 관리 Apache Iceberg™ 테이블 및 기타 동적 테이블. FROM 절 외부의 하위 쿼리(예: WHERE EXISTS)는 지원되지 않습니다. |
지원됨 |
|
지원됨 |
지원됨 |
|
지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다. |
지원됨 |
|
지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다. |
지원됨 |
|
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" } ] } ] }');
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;
증분 새로 고침과 함께 래터럴 데이터 스큐를 사용하는 경우 다음 동작에 유의하십시오.
|
지원됨. |
OUTER-EQUI JOIN. |
지원됨. 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트는 쿼리 결과에 반영됩니다. |
지원됨 |
[{LEFT | RIGHT | FULL }] OUTER JOIN |
다음은 지원되지 않습니다.
그렇지 않으면 외부 조인에서 원하는 수의 테이블을 지정할 수 있으며 조인의 모든 테이블에 대한 업데이트가 쿼리 결과에 반영됩니다. |
지원됨 |
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원되지 않음 |
|
지원되지 않음 |
지원되지 않음 |
|
스칼라 집계 |
지원됨 |
지원됨 |
지원됨 |
||
세트 연산자 (UNION, MINUS, EXCEPT, INTERSECT) |
지원되지 않음 |
지원됨 |
시퀀스. |
지원되지 않음 |
지원되지 않음 |
모든 하위 쿼리 연산자. |
지원되지 않음 |
지원됨 |
지원됨 |
지원됨 |
|
사용자 정의 함수 (UDFs) |
다음 제한 사항을 제외하고 지원됩니다. |
지원됨 |
사용자 정의 테이블 함수 (UDTFs) |
다음 제한 사항을 제외하고 지원됩니다.
|
지원됨 |
SELECT 에서 유효한 식과 동일한 필터는 지원됩니다. CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE 함수 및 해당 별칭을 가진 필터는 지원됩니다. |
지원됨. CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE 함수 및 해당 별칭을 가진 필터는 지원됩니다. |
|
다음 제한 사항을 제외하고 지원됩니다.
|
지원됨 |
|
하위 쿼리에서 증분 새로 고침 지원 기능을 사용하는 CTEs(공통 테이블 식). |
지원됨 |
증분 및 전체 새로 고침 모드에서 지원되는 비결정적 함수 지원¶
비결정적 함수 |
Incremental Refresh Mode |
Full Refresh Mode |
---|---|---|
지원되지 않음 |
지원되지 않음 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
CURRENT_DATE (및 별칭) |
지원됨 |
지원됨 |
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
CURRENT_TIME (및 별칭) |
지원됨 |
지원됨 |
CURRENT_TIMESTAMP (및 별칭) |
지원됨 |
지원됨 |
CURRENT_USER 에 의존하는 함수. |
지원 안 됨. 동적 테이블 새로 고침은 특별한 SYSTEM 사용자가 있는 소유자 역할을 수행합니다. |
지원 안 됨. 동적 테이블 새로 고침은 특별한 SYSTEM 사용자가 있는 소유자 역할을 수행합니다. |
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원됨 |
지원됨 |
|
지원됨 |
지원됨 |
|
지원됨 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
지원되지 않음 |
지원됨 |
|
시퀀스 함수 (예: |
지원되지 않음 |
지원됨 |
지원되지 않음 |
지원됨 |
|
VOLATILE 사용자 정의 함수 |
지원되지 않음 |
지원됨 |