Reserverade ord och scheman
Gäller för: Databricks Databricks Runtime
Reserverade ord är literaler som används som nyckelord av SQL-språket som inte bör användas som identifierare för att undvika oväntat beteende.
Reserverade schemanamn har en särskild betydelse för Azure Databricks.
Reserverade ord
Azure Databricks tillåter inte formellt att vissa literaler används som identifierare.
Men om du vill använda någon av följande identifierare som ett tabellalias måste du omge namnet med back-ticks (').
- ANTI
- CROSS
- UTOM
- FULL
- INRE
- SKÄR
- Ansluta sig till
- LATERALA
- VÄNSTER
- MINUS
- NATURLIGA
- PÅ
- RÄTT
- SEMI
- UNIONEN
- ANVÄNDA
Specialord i uttryck
Följande lista över identifierare kan användas var som helst, men Azure Databricks behandlar dem företrädesvis som nyckelord i uttryck i vissa kontexter:
NULL
SQL-värdet
NULL
.DEFAULT
Anger en kolumnstandard.
TRUE
Det booleska
true
SQL-värdet.FALSE
Det booleska
false
SQL-värdet.LATERAL
Används som kolumnkvalificerare för att ange explicit lateral korrelation.
Använd back-ticks (NULL
och DEFAULT
) eller kvalificera kolumnnamnen med ett tabellnamn eller alias.
Azure Databricks använder prefixet CURRENT_
för att referera till vissa konfigurationsinställningar eller andra sammanhangsvariabler.
Prefixet underbar (_
) är avsett för pseudokolumner i Azure Databricks.
I Databricks Runtime är en befintlig pseudokolumn den _metadata kolumnen.
Identifierare med dessa prefix behandlas inte förmånligt. Undvik dock kolumner eller kolumnalias med hjälp av dessa prefix för att undvika oväntat beteende.
Reserverade katalognamn
Azure Databricks reserverar följande lista över katalognamn för aktuell eller framtida användning:
- Katalognamn som börjar med
SYS
- Katalognamn som börjar med
DATABRICKS
Undvik att använda dessa namn.
Reserverade schemanamn
Azure Databricks reserverar följande lista över schemanamn för aktuell eller framtida användning:
BUILTIN
Framtida användning för att kvalificera inbyggda funktioner.
SESSION
Framtida användning för att kvalificera tillfälliga vyer och funktioner.
INFORMATION_SCHEMA
Innehåller SQL Standard-informationsschemat.
Schemanamn som börjar med
SYS
ellerDATABRICKS
Undvik att använda dessa namn.
ANSI-reserverade ord
Azure Databricks framtvingar inte reserverade ANSI-ord. Följande lista över SQL2016-nyckelord tillhandahålls endast i informationssyfte.
A
ALL, ALTER, AND, ANY, ARRAY, AS, AT, AUTHORIZATION
B
MELLAN, BÅDA, EFTER
C
CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER
D
TA BORT, BESKRIVA, DISTINKTA, SLÄPPA
E
ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
GLOBAL, GRANT, GROUP, GROUPING
H
HAR
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
J
Ansluta sig till
L
LEADING, LEFT, LIKE, LOCAL
N
NATURLIG, NEJ, INTE, NULL
O
AV, PÅ, ENDAST, ELLER, ORDNING, UT, YTTRE, ÖVERLAPPAR
P
PARTITION, POSITION, PRIMÄR
R
INTERVALL, REFERENSER, ÅTERKALLA, HÖGER, ÅTERSTÄLLNING, SAMMANSLAGNING, RAD, RADER
S
SELECT, SESSION_USER, SET, SOME, START
T
TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
U
UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING
V
VÄRDEN
W
WHEN, WHERE, WINDOW, WITH
Exempel
-- 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