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.