Reserverade ord och scheman
Gäller för: Databricks SQL Databricks Runtime
Reserverade ord är literaler som används som nyckelord av SQL-språket som inte ska användas som identifierare för att undvika oväntat beteende.
Reserverade schema namn har särskild betydelse för Azure Databricks.
Reserverade ord
Azure Databricks tillåter inte formellt några specifika literaler från att användas som identifierare.
Om du vill använda någon av följande list av identifierare som ett table aliasmåste du dock omge namnet med back-ticks (').
- ANTI
- KORS
- UTOM
- FULL
- INRE
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MINUS
- NATURLIG
- ON
- RIGHT
- SEMI
- UNION
- ANVÄNDANDE
Specialord i uttryck
Följande list av identifierare kan användas var som helst, men Azure Databricks behandlar dem företrädesvis som nyckelord inom uttryck i vissa sammanhang:
NULL
SQL-värdet
NULL
.DEFAULT
Anger ett column standardvärde.
TRUE
SQL-booleskt
true
värde.FALSE
SQL-booleskt
false
värde.LATERAL
Används som en column-kvalificerare för att indikera explicit lateral korrelation.
Använd back-ticks (NULL
och DEFAULT
) eller qualifycolumn namn med ett table namn eller alias.
Azure Databricks använder prefixet CURRENT_
för att referera till vissa konfigurationsinställningar eller andra kontextvariabler.
Prefixet underbar (_
) är avsett för Azure Databricks pseudo-columns.
I Databricks Runtime är en befintlig pseudo-column_metadata column.
Identifierare med dessa prefix behandlas inte företrädesvis. Undvik dock att använda prefixen columns eller column alias för att undvika oväntat beteende.
Reserverade namn catalog
Azure Databricks reserverar följande list av catalog namn för aktuell eller framtida användning:
-
Catalog namn som börjar med
SYS
-
Catalog namn som börjar med
DATABRICKS
Undvik att använda dessa namn.
Reserverade schema namn
Azure Databricks reserverar följande list av schema namn för aktuell eller framtida användning:
BUILTIN
Framtida användning av qualify de inbyggda funktionerna.
SESSION
Framtida användning av qualify tillfälliga views och funktioner.
INFORMATION_SCHEMA
Innehåller SQL Standard-information schema.
Schema namn som börjar med
SYS
ellerDATABRICKS
Undvik att använda dessa namn.
RESERVERADE ANSI-ord
Azure Databricks tillämpar inte reserverade ANSI-ord. Följande list av 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, SKAPA, KORS, KUB, AKTUELL, AKTUELLT_DATUM, AKTUELL_TID, AKTUELL_TIDSSTÄMPEL, AKTUELL_ANVÄNDARE
D
TA BORT, BESKRIVA, DISTINKT, SLÄPP
E
ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
GLOBAL, GRANT, GRUPP, GRUPPERING
H
HAVING
I
IN, INNER, INSERT, SKÄRNING, INTERVALL, IN I, ÄR
J
JOIN
L
LEADING, LEFT, LIKE, LOCAL
N
NATURLIG, NEJ, INTE, NULL
O
AV, ENDAST, ELLER, ORDNING, UT, YTTRE, ÖVERLAPPAR
P
PARTITION, POSITION, PRIMÄR
R
INTERVALL, REFERENSER, REVOKE, HÖGER, ROLLBACK, ROLLUP, RAD, RADER
S
SELECT, SESSION_USER, SET, NÅGRA, START
T
TABLE, TABLESAMPLE, SEDAN, TID, TILL, EFTERFÖLJANDE, SANN, TRUNKERA
U
UNION, UNIQUE, UNKNOWN, UPDATE, ANVÄNDARE, USING
V
VALUES
W
NÄR, WHERE, WINDOW, MED
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