Partilhar via


Palavras e esquemas reservados

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime

Palavras reservadas são literais usadas como palavras-chave pela linguagem SQL que não devem ser usadas como identificadores para evitar comportamentos inesperados.

Os nomes de esquema reservados têm um significado especial para o Azure Databricks.

Palavras reservadas

O Azure Databricks não permite formalmente que nenhum literal específico seja usado como identificadores.

No entanto, para usar qualquer uma das seguintes listas de identificadores como um alias de tabela, você deve cercar o nome com ticks inversos (').

  • ANTI
  • CRUZAMENTO
  • EXCETO
  • COMPLETO
  • INTERIOR
  • INTERSECT
  • JOIN
  • LATERAIS
  • LEFT
  • MENOS
  • NATURAL
  • ON
  • RIGHT
  • SEMI
  • UNION
  • UTILIZAÇÃO

Palavras especiais em expressões

A lista de identificadores a seguir pode ser usada em qualquer lugar, mas o Azure Databricks os trata preferencialmente como palavras-chave dentro de expressões em determinados contextos:

  • NULL

    O valor SQL NULL .

  • DEFAULT

    Indica um padrão de coluna.

  • TRUE

    O valor booleano true SQL.

  • FALSE

    O valor booleano false SQL.

  • LATERAL

    Usado como qualificador de coluna para indicar correlação lateral explícita.

Use ticks invertidos (NULL e DEFAULT) ou qualifique os nomes das colunas com um nome de tabela ou alias.

O Azure Databricks usa o prefixo CURRENT_ para fazer referência a algumas definições de configuração ou outras variáveis de contexto. O prefixo underbar (_) destina-se a pseudocolunas do Azure Databricks. No Databricks Runtime, uma pseudocoluna existente é a coluna _metadata.

Os identificadores com estes prefixos não são tratados preferencialmente. No entanto, evite colunas ou aliases de coluna usando esses prefixos para evitar um comportamento inesperado.

Nomes de catálogo reservados

O Azure Databricks reserva a seguinte lista de nomes de catálogo para uso atual ou futuro:

  • Nomes de catálogo começando com SYS
  • Nomes de catálogo começando com DATABRICKS

Evite usar esses nomes.

Nomes de esquema reservados

O Azure Databricks reserva a seguinte lista de nomes de esquema para uso atual ou futuro:

  • BUILTIN

    Uso futuro para qualificar funções integradas.

  • SESSION

    Uso futuro para qualificar visualizações e funções temporárias.

  • INFORMATION_SCHEMA

    Contém o esquema de informações do SQL Standard.

  • Nomes de esquema começando com SYS ou DATABRICKS

Evite usar esses nomes.

ANSI Palavras reservadas

O Azure Databricks não impõe palavras reservadas ANSI. A seguinte lista de palavras-chave SQL2016 é fornecida apenas para fins informativos.

  • A

    TODOS, ALTERAR, E, QUALQUER, MATRIZ, COMO, EM, AUTORIZAÇÃO

  • B

    ENTRE, AMBOS, POR

  • C

    MAIÚSCULAS E MINÚSCULAS, TRANSMITIR, VERIFICAR, AGRUPAR, COLUNA, CONFIRMAR, RESTRIÇÃO, CRIAR, CRUZAR, CUBO, ATUAL, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP CURRENT_USER

  • D

    ELIMINAR, DESCREVER, DISTINGUIR, LARGAR

  • E

    SENÃO, FIM, FUGA, EXCETO, EXISTE, EXTERNO, EXTRAI

  • F

    FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBAL, SUBVENÇÃO, GRUPO, AGRUPAMENTO

  • H

    HAVING

  • I

    IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS

  • J

    JOIN

  • L

    LIDERANDO, ESQUERDA, COMO, LOCAL

  • N

    NATURAL, NÃO, NÃO, NULO

  • O

    DE, SOBRE, APENAS, OU, ORDEM, FORA, EXTERIOR, SOBREPOSIÇÕES

  • P

    PARTIÇÃO, POSIÇÃO, PRIMÁRIO

  • R

    INTERVALO, REFERÊNCIAS, REVOGAÇÃO, DIREITA, REVERSÃO, ROLLUP, LINHA, LINHAS

  • S

    SELECIONAR, SESSION_USER, DEFINIR, ALGUNS, INICIAR

  • T

    TABLE, TABLESAMPLE, ENTÃO, TIME, TO, TRAILING, TRUE, TRUNCATE

  • U

    UNIÃO, ÚNICO, DESCONHECIDO, ATUALIZAR, USUÁRIO, USANDO

  • V

    VALORES

  • W

    QUANDO, ONDE, JANELA, COM

Exemplos

-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));

> SELECT where from FROM where select;
  1

-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
 NULL   1       1

-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
    FROM VALUES(1) AS T(current_date);
 2021-10-23     1       2021-10-23

-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'

> SELECT * FROM VALUES(1) AS `ANTI`;
  1