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. |