Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
SnowflakeGAImpacto: Médio

Uso da cláusula VALUES em Dynamic Tables com atualização incremental

A cláusula VALUES agora é suportada na atualização incremental de Dynamic Tables no Snowflake, permitindo uso de tabelas de lookup estáticas.

O que mudou

Para que serve

Imagine que você tem uma Dynamic Table que precisa cruzar dados transacionais com uma pequena tabela de referência fixa, como códigos de status ou categorias, sem precisar criar uma tabela física no banco.

  • Fazer join de tabelas dinâmicas com listas estáticas de valores.
  • Manter a atualização incremental (modos INCREMENTAL, AUTO e ADAPTIVE) sem quebrar o fluxo.

Como usar

Você pode declarar a cláusula VALUES diretamente na cláusula FROM da sua Dynamic Table.

CREATE OR REPLACE DYNAMIC TABLE minha_tabela_dinamica
TARGET_LAG = '1 hour'
WAREHOUSE = meu_warehouse
AS
SELECT t.id, v.column2
FROM minha_tabela_base AS t
INNER JOIN (VALUES (1, 'ativo'), (2, 'inativo')) AS v (id, status_desc)
  ON t.status_id = v.id;

O que acontece nesse código:

  1. A Dynamic Table é criada com um intervalo de atualização de uma hora.
  2. A consulta faz um JOIN entre a tabela base e uma lista estática gerada via VALUES.
  3. O Snowflake processa a cláusula VALUES mantendo o suporte ao refresh incremental.

Limitações e requisitos

  • Recurso disponível em General Availability (GA) para os modos de refresh INCREMENTAL, AUTO e ADAPTIVE.
  • A cláusula VALUES suporta no máximo 200.000 linhas.
  • Não é permitido o uso da palavra-chave DEFAULT dentro do VALUES no comando FROM.
Ver nota oficial do Snowflake

VALUES clause is supported with dynamic table incremental refresh (General availability)

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas