Partilhar via


Palavras e esquemas reservados

Aplica-se a:marcado sim Databricks SQL marcado 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 proíbe formalmente o uso de qualquer literal específico como identificadores.

No entanto, para usar quaisquer dos seguintes identificadores de como um alias de tabela , deve cercar o nome com acento grave (`).

  • ANTI
  • CRUZAMENTO
  • EXCETO
  • COMPLETO
  • INTERIOR
  • INTERSEÇÃO
  • JOIN
  • LATERAIS
  • ESQUERDA
  • MENOS
  • NATURAL
  • ON
  • Certo
  • SEMI
  • União
  • UTILIZAÇÃO

Palavras especiais em expressões

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

  • NULL

    O valor SQL NULL .

  • DEFAULT

    Indica um valor 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 acento grave (NULL e DEFAULT) ou qualifique os nomes das colunas com um nome ou alias da tabela.

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 às 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 usar esses prefixos em colunas ou em aliases de coluna , 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

    Manté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, COLUMN, CONFIRMAR, CONSTRAINT, 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, GRANT, GRUPO, AGRUPAMENTO

  • H

    HAVING

  • I

    DENTRO, INTERNO, INSERT, INTERSECTA, INTERVALO, EM, É

  • J

    JOIN

  • L

    LIDERANDO, ESQUERDA, COMO, LOCAL

  • N

    NATURAL, NÃO, NÃO, NULO

  • O

    DE, SOBRE, APENAS, OU, ORDEM, FORA, EXTERNO, SOBREPÕE-SE

  • P

    PARTITION, POSIÇÃO, PRIMÁRIO

  • R

    INTERVALO, REFERÊNCIAS, REVOKE, DIREITA, ROLLBACK, ROLLUP, LINHA, LINHAS

  • S

    SELECT, SESSION_USER, SET, ALGUMAS, COMEÇAR

  • T

    TABLE, TABLESAMPLE, ENTÃO, TEMPO, PARA, TRAILING, TRUE, TRUNCAR

  • U

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

  • V

    VALUES

  • W

    QUANDO, WHERE, WINDOW, 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