Palavras e esquemas reservados
Aplica-se a: Databricks SQL
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 schema 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 um dos seguintes identificadores list de como um alias table, deve-se colocar o nome entre acentos graves (`).
- ANTI
- CRUZAMENTO
- EXCETO
- COMPLETO
- INTERIOR
- INTERSECT
- JOIN
- LATERAIS
- LEFT
- MENOS
- NATURAL
- ON
- RIGHT
- SEMI
- UNION
- UTILIZAÇÃO
Palavras especiais em expressões
Os identificadores list de podem ser usados em qualquer lugar, mas o Azure Databricks trata-os preferencialmente como palavras-chave em certas expressões de determinados contextos.
NULL
O valor SQL
NULL
.DEFAULT
Indica uma pré-definição column.
TRUE
O valor booleano
true
SQL.FALSE
O valor booleano
false
SQL.LATERAL
Usado como qualificador column para indicar correlação lateral explícita.
Use back-ticks (NULL
e DEFAULT
) ou os nomes qualify, column, com um nome table 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 ao Azure Databricks pseudo columns.
No Databricks Runtime, um pseudo column existente é o _metadata column.
Os identificadores com estes prefixos não são tratados preferencialmente. No entanto, evite usar os aliases columns ou column com estes prefixos para evitar um comportamento inesperado.
Nomes reservados catalog
O Azure Databricks reserva os seguintes nomes list de catalog para uso atual ou futuro:
-
Catalog nomes que começam com
SYS
-
Catalog nomes que começam por
DATABRICKS
Evite usar esses nomes.
Nomes de schema reservados
O Azure Databricks reserva os seguintes list de nomes de schema para uso atual ou futuro:
BUILTIN
Uso futuro de funções integradas qualify.
SESSION
Uso futuro para qualifyviews e funções temporárias.
INFORMATION_SCHEMA
Contém as informações do SQL Standard schema.
Schema nomes que começam por
SYS
ouDATABRICKS
Evite usar esses nomes.
ANSI Palavras reservadas
O Azure Databricks não impõe palavras reservadas ANSI. As seguintes palavras-chave de list para SQL2016 são fornecidas 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, EXTERIOR, SOBREPOSIÇÕES
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