Mots clés réservés et limités

Snowflake SQL réserve tous les mots clés ANSI (à l’exception des mots clés de type CHAR, DATE, DECIMAL, etc.), ainsi que certains mots clés supplémentaires (ASC, DESC, MINUS, etc.) qui sont réservés par d’autres bases de données populaires. De plus, Snowflake réserve les mots clés REGEXP et RLIKE (qui fonctionnent comme le mot clé ANSI réservé LIKE) et SOME (qui est un synonyme pour le mot clé ANY réservé ANSI).

Pour éviter toute ambiguïté au niveau de l’analyse, Snowflake SQL interdit également l’utilisation de mots clés tels que LEFT, OUTER, JOIN, etc. comme noms de table ou alias dans la liste FROM, et l’utilisation de mots clés tels que TRUE, FALSE, CASE, etc. comme références de colonnes dans des expressions scalaires.

Le tableau suivant fournit la liste des mots clés réservés dans Snowflake et des mots clés qui ne sont pas strictement réservés, mais dont l’utilisation est limitée :

Mot clé

Commentaire

A

ACCOUNT

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

ALL

Réservé par ANSI.

ALTER

Réservé par ANSI.

AND

Réservé par ANSI.

ANY

Réservé par ANSI.

AS

Réservé par ANSI.

B

BETWEEN

Réservé par ANSI.

BY

Réservé par ANSI.

C

CASE

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

CAST

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

CHECK

Réservé par ANSI.

COLUMN

Réservé par ANSI.

CONNECT

Réservé par ANSI.

CONNECTION

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

CONSTRAINT

Ne peut pas être utilisé comme nom de colonne dans CREATE TABLE DDL.

CREATE

Réservé par ANSI.

CROSS

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

CURRENT

Réservé par ANSI.

CURRENT_DATE

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

CURRENT_TIME

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

CURRENT_TIMESTAMP

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

CURRENT_USER

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

D

DATABASE

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

DELETE

Réservé par ANSI.

DISTINCT

Réservé par ANSI.

DROP

Réservé par ANSI.

E

ELSE

Réservé par ANSI.

EXISTS

Réservé par ANSI.

F

FALSE

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

FOLLOWING

Réservé par ANSI.

FOR

Réservé par ANSI.

FROM

Réservé par ANSI.

FULL

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

G

GRANT

Réservé par ANSI.

GROUP

Réservé par ANSI.

GSCLUSTER

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

H

HAVING

Réservé par ANSI.

I

ILIKE

Réservé par Snowflake.

IN

Réservé par ANSI.

INCREMENT

Réservé par Snowflake et d’autres.

INNER

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

INSERT

Réservé par ANSI.

INTERSECT

Réservé par ANSI.

INTO

Réservé par ANSI.

IS

Réservé par ANSI.

ISSUE

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

J

JOIN

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

L

LATERAL

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

LEFT

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

LIKE

Réservé par ANSI.

LOCALTIME

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

LOCALTIMESTAMP

Ne peut pas être utilisé comme nom de colonne (réservé par ANSI).

M

MINUS

Réservé par Snowflake et d’autres.

N

NATURAL

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

NOT

Réservé par ANSI.

NULL

Réservé par ANSI.

O

OF

Réservé par ANSI.

ON

Réservé par ANSI.

OR

Réservé par ANSI.

ORDER

Réservé par ANSI.

ORGANIZATION

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

Q

QUALIFY

Réservé par Snowflake.

R

REGEXP

Réservé par Snowflake.

REVOKE

Réservé par ANSI.

RIGHT

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

RLIKE

Réservé par Snowflake.

ROW

Réservé par ANSI.

ROWS

Réservé par ANSI.

S

SAMPLE

Réservé par ANSI.

SCHEMA

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

SELECT

Réservé par ANSI.

SET

Réservé par ANSI.

SOME

Réservé par Snowflake.

START

Réservé par ANSI.

T

TABLE

Réservé par ANSI.

TABLESAMPLE

Réservé par ANSI.

THEN

Réservé par ANSI.

TO

Réservé par ANSI.

TRIGGER

Réservé par ANSI.

TRUE

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

TRY_CAST

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

U

UNION

Réservé par ANSI.

UNIQUE

Réservé par ANSI.

UPDATE

Réservé par ANSI.

USING

Ne peut pas être utilisé comme nom de table ou alias dans une clause FROM.

V

VALUES

Réservé par ANSI.

VIEW

Ne peut pas être utilisé comme identificateur dans une commande SHOW (par exemple “SHOW … IN <identificateur>”).

W

WHEN

Ne peut pas être utilisé comme référence de colonne dans une expression scalaire.

WHENEVER

Réservé par ANSI.

WHERE

Réservé par ANSI.

WITH

Réservé par ANSI.