Palavras-chave reservadas e limitadas¶
O Snowflake SQL reserva todas as palavras-chave ANSI (com exceção das palavras-chave do tipo CHAR, DATE, DECIMAL etc.), bem como algumas palavras-chave adicionais (ASC, DESC, MINUS etc.) que são reservadas por outros bancos de dados populares. Além disso, o Snowflake reserva palavras-chave REGEXP e RLIKE (que funcionam como a palavra-chave ANSI reservada LIKE) e SOME (que é sinônimo da palavra-chave ANSI reservada ANY).
Para evitar ambiguidades de análise, o Snowflake SQL também proíbe o uso de palavras-chave como LEFT, OUTER, JOIN etc. como nomes de tabela ou aliases na lista FROM, e o uso de palavras-chave como TRUE, FALSE, CASE etc. como referências de colunas em expressões escalares.
A tabela a seguir fornece a lista de palavras-chave reservadas no Snowflake e palavras-chave que não são estritamente reservadas, mas têm limitações de uso:
Palavra-chave |
Comentário |
---|---|
A |
|
ACCOUNT |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
ALL |
Reservada por ANSI. |
ALTER |
Reservada por ANSI. |
AND |
Reservada por ANSI. |
ANY |
Reservada por ANSI. |
AS |
Reservada por ANSI. |
B |
|
BETWEEN |
Reservada por ANSI. |
BY |
Reservada por ANSI. |
C |
|
CASE |
Não pode ser usada como referência de coluna em uma expressão escalar. |
CAST |
Não pode ser usada como referência de coluna em uma expressão escalar. |
CHECK |
Reservada por ANSI. |
COLUMN |
Reservada por ANSI. |
CONNECT |
Reservada por ANSI. |
CONNECTION |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
CONSTRAINT |
Não pode ser usada como um nome de coluna em CREATE TABLE DDL. |
CREATE |
Reservada por ANSI. |
CROSS |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
CURRENT |
Reservada por ANSI. |
CURRENT_DATE |
Não pode ser usada como nome de coluna (reservada por ANSI). |
CURRENT_TIME |
Não pode ser usada como nome de coluna (reservada por ANSI). |
CURRENT_TIMESTAMP |
Não pode ser usada como nome de coluna (reservada por ANSI). |
CURRENT_USER |
Não pode ser usada como nome de coluna (reservada por ANSI). |
D |
|
DATABASE |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
DELETE |
Reservada por ANSI. |
DISTINCT |
Reservada por ANSI. |
DROP |
Reservada por ANSI. |
E |
|
ELSE |
Reservada por ANSI. |
EXISTS |
Reservada por ANSI. |
F |
|
FALSE |
Não pode ser usada como referência de coluna em uma expressão escalar. |
FOLLOWING |
Reservada por ANSI. |
FOR |
Reservada por ANSI. |
FROM |
Reservada por ANSI. |
FULL |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
G |
|
GRANT |
Reservada por ANSI. |
GROUP |
Reservada por ANSI. |
GSCLUSTER |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
H |
|
HAVING |
Reservada por ANSI. |
I |
|
ILIKE |
Reservada pelo Snowflake. |
IN |
Reservada por ANSI. |
INCREMENT |
Reservada pelo Snowflake e outros. |
INNER |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
INSERT |
Reservada por ANSI. |
INTERSECT |
Reservada por ANSI. |
INTO |
Reservada por ANSI. |
IS |
Reservada por ANSI. |
ISSUE |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
J |
|
JOIN |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
L |
|
LATERAL |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
LEFT |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
LIKE |
Reservada por ANSI. |
LOCALTIME |
Não pode ser usada como nome de coluna (reservada por ANSI). |
LOCALTIMESTAMP |
Não pode ser usada como nome de coluna (reservada por ANSI). |
M |
|
MINUS |
Reservada pelo Snowflake e outros. |
N |
|
NATURAL |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
NOT |
Reservada por ANSI. |
NULL |
Reservada por ANSI. |
O |
|
OF |
Reservada por ANSI. |
ON |
Reservada por ANSI. |
OR |
Reservada por ANSI. |
ORDER |
Reservada por ANSI. |
ORGANIZATION |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
Q |
|
QUALIFY |
Reservada pelo Snowflake. |
R |
|
REGEXP |
Reservada pelo Snowflake. |
REVOKE |
Reservada por ANSI. |
RIGHT |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
RLIKE |
Reservada pelo Snowflake. |
ROW |
Reservada por ANSI. |
ROWS |
Reservada por ANSI. |
S |
|
SAMPLE |
Reservada por ANSI. |
SCHEMA |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
SELECT |
Reservada por ANSI. |
SET |
Reservada por ANSI. |
SOME |
Reservada pelo Snowflake. |
START |
Reservada por ANSI. |
T |
|
TABLE |
Reservada por ANSI. |
TABLESAMPLE |
Reservada por ANSI. |
THEN |
Reservada por ANSI. |
TO |
Reservada por ANSI. |
TRIGGER |
Reservada por ANSI. |
TRUE |
Não pode ser usada como referência de coluna em uma expressão escalar. |
TRY_CAST |
Não pode ser usada como referência de coluna em uma expressão escalar. |
U |
|
UNION |
Reservada por ANSI. |
UNIQUE |
Reservada por ANSI. |
UPDATE |
Reservada por ANSI. |
USING |
Não pode ser usada como nome de tabela ou alias em uma cláusula FROM. |
V |
|
VALUES |
Reservada por ANSI. |
VIEW |
Não pode ser usada como um identificador em um comando SHOW (por exemplo, “SHOW … IN <identificador>”). |
W |
|
WHEN |
Não pode ser usada como referência de coluna em uma expressão escalar. |
WHENEVER |
Reservada por ANSI. |
WHERE |
Reservada por ANSI. |
WITH |
Reservada por ANSI. |