Resumo dos comandos

O Snowflake oferece suporte à maioria dos comandos e instruções definidos em SQL:1999.

Neste tópico:

Comandos DDL (linguagem de definição de dados)

DDL baseado em contas e baseado em sessões

Comandos

Notas

ALTER ACCOUNT

Usado para definir parâmetros em nível de conta (somente por usuários com função ACCOUNTADMIN).

ALTER SESSION

Usado para definir parâmetros na sessão atual.

SHOW FUNCTIONS

Exibe funções definidas pelo sistema e funções definidas pelo usuário, incluindo funções externas.

SHOW PARAMETERS

Usado para exibir as configurações de parâmetros para a conta ou sessão atual. Também pode ser usado para exibir configurações de parâmetros para objetos que têm parâmetros.

SHOW VARIABLES

Usado para exibir as variáveis SQL na sessão atual.

SET , UNSET

Usado para definir e remover variáveis SQL na sessão atual.

USE { DATABASE | ROLE | SCHEMA | WAREHOUSE }

O comando USE define o banco de dados, função, esquema ou warehouse para a sessão atual.

DDL do objeto da organização

Comandos

Notas

{ CREATE | DROP | UNDROP } ACCOUNT

Executado por usuários com a função ORGADMIN. ALTER ACCOUNT é usado para definir parâmetros no nível da conta e é executado por um usuário com a função ACCOUNTADMIN.

DDL de objeto de conta

Comandos

Notas

{ ALTER | CREATE | DESC | DROP } APPLICATION

{ ALTER | CREATE | DROP } APPLICATION PACKAGE

{ ALTER | CREATE | DROP } CONNECTION

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } DATABASE

CREATE também oferece suporte à clonagem de bancos de dados existentes.

{ ALTER | CREATE | DESC | DROP } EXTERNAL VOLUME

{ ALTER | CREATE } { API | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE } INTEGRATION

{ CREATE } CATALOG INTEGRATION

ALTER não é compatível com integrações de catálogo.

{ DESC | DROP } [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATION

{ ALTER | CREATE | DESC | DROP } NETWORK POLICY

{ ALTER | CREATE | DESC | DROP } RESOURCE MONITOR

{ ALTER | CREATE | DESC | DROP | USE } ROLE

{ ALTER | CREATE | DESC | DROP } SHARE

{ ALTER | CREATE | DESC | DROP } USER

{ ALTER | CREATE | DESC | DROP | USE } WAREHOUSE

COMMENT

Esse comando pode ser usado com qualquer objeto de conta. Além disso, os comentários devem ser definidos usando CREATE ou ALTER.

{ GRANT | REVOKE } PRIVILEGE

Os privilégios não são estritamente um objeto de primeira classe; entretanto, esses comandos são usados para habilitar e gerenciar o controle de acesso de todos os objetos de primeira classe no Snowflake.

SHOW { APPLICATION PACKAGES | APPLICATIONS | DATABASES | EXTERNAL VOLUMES | [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATIONS | NETWORK POLICIES | PRIVILEGES | RESOURCE MONITORS | ROLES | SHARES | USERS | WAREHOUSES }

DDL de objeto de banco de dados/esquema

Comandos

Notas

{ ALTER | CREATE | DESC | DROP } ALERT

Usado para criar alertas do Snowflake.

{ ALTER | CREATE | DESC | DROP } EVENT TABLE

Usado para criar e gerenciar tabelas de eventos.

CREATE EXTERNAL FUNCTION

Usado para a criação de funções externas.

{ ALTER | CREATE | DESC | DROP } FILE FORMAT

CREATE também oferece suporte à clonagem de formatos de arquivos existentes.

{ ALTER | CREATE | DESC | DROP } FUNCTION

Usado para criar UDFs (funções definidas pelo usuário) e gerenciar UDFs e funções externas.

{ ALTER | CREATE | DESC | DROP } ICEBERG TABLE

Usado para criar e gerenciar tabelas Iceberg.

{ ALTER | CREATE | DESC | DROP } MASKING POLICY

Usado para criar e gerenciar políticas de mascaramento.

{ ALTER | CREATE | DESC | DROP | UNDROP } MATERIALIZED VIEW

Usado para criar e gerenciar exibições materializadas.

{ ALTER | CREATE | DESC | DROP } NETWORK RULE

{ ALTER | CREATE | DESC | DROP } PACKAGES POLICY

Usado para criar e gerenciar políticas de pacotes.

{ ALTER | CREATE | DESC | DROP } PASSWORD POLICY

Usado para criar e gerenciar políticas de senhas.

{ ALTER | CREATE | DESC | DROP } PIPE

{ ALTER | CREATE | DESC | DROP } PROCEDURE

Usado para criar e gerenciar procedimentos armazenados.

{ ALTER | CREATE | DESC | DROP } ROW ACCESS POLICY

Usado para criar e gerenciar políticas de acesso a linhas.

{ ALTER | CREATE | DESC | DROP } SECRET

Usado para criar e gerenciar segredos.

{ ALTER | CREATE | DESC | DROP } SEQUENCE

CREATE também oferece suporte à clonagem de sequências existentes.

{ ALTER | CREATE | DESC | DROP } SESSION POLICY

Usado para criar e gerenciar políticas de sessão.

{ ALTER | CREATE | DESC | DROP } STAGE

CREATE também oferece suporte à clonagem de estágios nomeados existentes (apenas externos).

{ ALTER | CREATE | DESC | DROP } STREAM

CREATE também oferece suporte à clonagem de fluxos nomeados existentes.

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } SCHEMA

CREATE também oferece suporte à clonagem de esquemas existentes.

{ ALTER | CREATE | DESC | DROP | TRUNCATE | UNDROP } TABLE

CREATE também oferece suporte à clonagem de tabelas existentes, à criação de tabelas preenchidas (usando CTAS) e à criação de tabelas vazias (a partir de tabelas existentes).

{ ALTER | CREATE | DROP | UNDROP } TAG

DESCRIBE não tem suporte para o objeto tag.

{ ALTER | CREATE | DESC | DROP } TASK

{ ALTER | CREATE | DESC | DROP | UNDROP } VIEW

COMMENT

Esse comando pode ser usado com qualquer objeto de banco de dados/esquema. Além disso, os comentários devem ser definidos usando CREATE ou ALTER.

SHOW { ALERTS | EVENT TABLES | EXTERNAL FUNCTIONS | FILE FORMATS | ICEBERG TABLES | MASKING POLICIES | MATERIALIZED VIEWS | NETWORK RULES | PACKAGES POLICIES | PASSWORD POLICIES | PIPES | PROCEDURES | ROW ACCESS POLICIES | SCHEMAS | SECRETS | SEQUENCES | SESSION POLICIES | STAGES | STREAMS | TABLES | TAGS | TASKS | USER FUNCTIONS | VIEWS }

Comandos DML (linguagem de manipulação de dados)

Comandos

Notas

DELETE , INSERT , MERGE , REPLACE , UPDATE

Usado para DML geral. INSERT inclui suporte para inserções de múltiplas tabelas.

COPY INTO { <table> | <location> }

Usado para carregar/descarregar dados (isto é, importação/exportação em massa).

GET , LIST , PUT , REMOVE

Esses comandos não executam DML; eles são usados para preparar e gerenciar arquivos para carregar e descarregar dados.

Sintaxe de consultas e operadores

Categoria

Construções/operadores

Notas

Sintaxe de consulta

[ WITH ]

SELECT [ DISTINCT ]

Obrigatório.

[ INTO ]

Para definir variáveis Script Snowflake para valores nas colunas de resultados.

[ FROM ]

[ AT | BEFORE ]

Para consultas utilizando o Time Travel.

[ CHANGES ]

Para consultar os metadados de rastreamento de alterações de uma tabela.

[ CONNECT BY ]

Para fazer a junção de uma tabela consigo mesma para processar dados hierárquicos na tabela.

[ JOIN ]

Suporte a junções internas, externas esquerdas, externa direitas e completas.

[ MATCH_RECOGNIZE ]

Para encontrar sequências de linhas que correspondam a um padrão.

[ PIVOT | UNPIVOT ]
[ VALUES ]
[ SAMPLE ] / [ TABLESAMPLE ]

TABLESAMPLE é um sinônimo de SAMPLE.

[ WHERE ]

[ GROUP BY ]

As colunas utilizadas em GROUP BY devem estar na lista SELECT.

[ HAVING ]

[ ORDER BY ]

[ LIMIT ]

Operadores aritméticos

+ , - , * , \ , %

Operadores de comparação

= , != , < > , > , >= , < , <=

Operadores lógicos/booleanos

AND , NOT , OR

Operadores de conjuntos

INTERSECT [ ALL ] , MINUS [ ALL ] / EXCEPT , UNION [ ALL ]

Operadores de subconsulta

ANY / ALL , [ NOT ] EXISTS , [ NOT ] IN

Predicados

BETWEEN , [ NOT ] EXISTS , [ NOT ] IN , LIKE

Comandos TCL (linguagem de controle de transações)

Comandos

Notas

BEGIN , COMMIT , ROLLBACK

Usado para transações de instruções múltiplas na sessão atual.

DESC TRANSACTIONS

SHOW { LOCKS | TRANSACTIONS }