Reservierte und begrenzte Schlüsselwörter¶
Snowflake-SQL reserviert alle ANSI-Schlüsselwörter (mit Ausnahme von Typschlüsselwörtern wie CHAR, DATE, DECIMAL usw.) sowie einige zusätzliche Schlüsselwörter (ASC, DESC, MINUS usw.), die von Oracle und anderen gängigen Datenbanken reserviert werden. Darüber hinaus reserviert Snowflake die Schlüsselwörter REGEXP und RLIKE (die wie das reservierte ANSI-Schlüsselwort LIKE funktionieren) und SOME (was ein Synonym für das ANSI-reservierte Schlüsselwort ANY ist).
Um Mehrdeutigkeiten zu vermeiden, verbietet Snowflake-SQL auch die Verwendung von Schlüsselwörtern wie LEFT, OUTER, JOIN usw. als Tabellennamen oder Aliasnamen in der Liste FROM und die Verwendung von Schlüsselwörtern wie TRUE, FALSE, CASE usw. als Spaltenreferenzen in Skalarausdrücken.
Die folgende Tabelle enthält eine Liste der reservierten Schlüsselwörter in Snowflake sowie Schlüsselwörter, die nicht unbedingt reserviert sind, jedoch Einschränkungen bei der Nutzung aufweisen:
Schlüsselwort |
Kommentar |
---|---|
A |
|
ACCOUNT |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
ALL |
Reserviert von ANSI. |
ALTER |
Reserviert von ANSI. |
AND |
Reserviert von ANSI. |
ANY |
Reserviert von ANSI. |
AS |
Reserviert von ANSI. |
B |
|
BETWEEN |
Reserviert von ANSI. |
BY |
Reserviert von ANSI. |
C |
|
CASE |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
CAST |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
CHECK |
Reserviert von ANSI. |
COLUMN |
Reserviert von ANSI. |
CONNECT |
Reserviert von ANSI. |
CONNECTION |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
CONSTRAINT |
Kann nicht als Spaltenname in CREATE TABLE DDL verwendet werden. |
CREATE |
Reserviert von ANSI. |
CROSS |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
CURRENT |
Reserviert von ANSI. |
CURRENT_DATE |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
CURRENT_TIME |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
CURRENT_TIMESTAMP |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
CURRENT_USER |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
D |
|
DATABASE |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
DELETE |
Reserviert von ANSI. |
DISTINCT |
Reserviert von ANSI. |
DROP |
Reserviert von ANSI. |
E |
|
ELSE |
Reserviert von ANSI. |
EXISTS |
Reserviert von ANSI. |
F |
|
FALSE |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
FOLLOWING |
Reserviert von ANSI. |
FOR |
Reserviert von ANSI. |
FROM |
Reserviert von ANSI. |
FULL |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
G |
|
GRANT |
Reserviert von ANSI. |
GROUP |
Reserviert von ANSI. |
GSCLUSTER |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
H |
|
HAVING |
Reserviert von ANSI. |
I |
|
ILIKE |
Reserviert von Snowflake. |
IN |
Reserviert von ANSI. |
INCREMENT |
Reserviert von Snowflake und anderen. |
INNER |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
INSERT |
Reserviert von ANSI. |
INTERSECT |
Reserviert von ANSI. |
INTO |
Reserviert von ANSI. |
IS |
Reserviert von ANSI. |
ISSUE |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
J |
|
JOIN |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
L |
|
LATERAL |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
LEFT |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
LIKE |
Reserviert von ANSI. |
LOCALTIME |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
LOCALTIMESTAMP |
Kann nicht als Spaltenname verwendet werden (reserviert von ANSI). |
M |
|
MINUS |
Reserviert von Snowflake und anderen. |
N |
|
NATURAL |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
NOT |
Reserviert von ANSI. |
NULL |
Reserviert von ANSI. |
O |
|
OF |
Reserviert von ANSI. |
ON |
Reserviert von ANSI. |
OR |
Reserviert von ANSI. |
ORDER |
Reserviert von ANSI. |
ORGANIZATION |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
Q |
|
QUALIFY |
Reserviert von Snowflake. |
R |
|
REGEXP |
Reserviert von Snowflake. |
REVOKE |
Reserviert von ANSI. |
RIGHT |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
RLIKE |
Reserviert von Snowflake. |
ROW |
Reserviert von ANSI. |
ROWS |
Reserviert von ANSI. |
S |
|
SAMPLE |
Reserviert von ANSI. |
SCHEMA |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
SELECT |
Reserviert von ANSI. |
SET |
Reserviert von ANSI. |
SOME |
Reserviert von Snowflake. |
START |
Reserviert von ANSI. |
T |
|
TABLE |
Reserviert von ANSI. |
TABLESAMPLE |
Reserviert von ANSI. |
THEN |
Reserviert von ANSI. |
TO |
Reserviert von ANSI. |
TRIGGER |
Reserviert von ANSI. |
TRUE |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
TRY_CAST |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
U |
|
UNION |
Reserviert von ANSI. |
UNIQUE |
Reserviert von ANSI. |
UPDATE |
Reserviert von ANSI. |
USING |
Kann nicht als Tabellenname oder Alias in der FROM-Klausel verwendet werden. |
V |
|
VALUES |
Reserviert von ANSI. |
VIEW |
Kann nicht als Bezeichner in einem SHOW-Befehl verwendet werden (z. B. SHOW … IN <Bezeichner>). |
W |
|
WHEN |
Kann nicht als Spaltenreferenz in einem Skalarausdruck verwendet werden. |
WHENEVER |
Reserviert von ANSI. |
WHERE |
Reserviert von ANSI. |
WITH |
Reserviert von ANSI. |