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 } AGGREGATION POLICY |
Usado para criar e gerenciar políticas de agregação. |
{ ALTER | CREATE | DESC | DROP } ALERT |
Usado para criar alertas do Snowflake. |
{ ALTER | CREATE | DESC | DROP } AUTHENTICATION POLICY |
Usado para criar e gerenciar políticas de autenticação. |
{ 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. |
{ CREATE | DESC | DROP } HYBRID TABLE |
Usado para criar e gerenciar tabelas híbridas. |
{ 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 | DROP } MODEL |
DESCRIBE não é compatível com objetos de modelo. ALTER também é usado para criar e modificar versões de modelos. |
{ 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 } PROJECTION POLICY |
Usado para criar e gerenciar políticas de projeção. |
{ 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 { AGGREGATION POLICIES | ALERTS | AUTHENTICATION POLICIES | EVENT TABLES | EXTERNAL FUNCTIONS | FILE FORMATS | HYBRID TABLE | ICEBERG TABLES | MASKING POLICIES | MATERIALIZED VIEWS | NETWORK RULES | PACKAGES POLICIES | PASSWORD POLICIES | PIPES | PROCEDURES | PROJECTION POLICIES | ROW ACCESS POLICIES | SCHEMAS | SECRETS | SEQUENCES | SESSION POLICIES | STAGES | STREAMS | TABLES | TAGS | TASKS | USER FUNCTIONS | VIEWS } |
Classes¶
Comando |
Notas |
---|---|
{ CREATE | DROP | SHOW } SNOWFLAKE.ML.ANOMALY_DETECTION |
Usado para gerenciar modelos de detecção de anomalias que detectam valores discrepantes em seus dados de série temporal. |
{ CREATE | DROP } SNOWFLAKE.CORE.BUDGET |
Usado para gerenciar orçamentos. |
{ ALTER | CREATE | DROP | SHOW } SNOWFLAKE.ML.CLASSIFICATION |
Usado para gerenciar modelos de classificação. |
{ CREATE | DROP } SNOWFLAKE.CORE.CUSTOM_CLASSIFIER SHOW CUSTOM_CLASSIFIERS |
Usado para gerenciar classificadores personalizados. |
{ CREATE | DROP | SHOW } FORECAST |
Usado para gerenciar modelos de previsão. |
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). |
COPY FILES , 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. |
|
[ ASOF JOIN ]
|
Suporte a junções ASOF. |
|
[ 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 } |