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. |
WINDOW | Reservada por ANSI. |
WITH | Reservada por ANSI. |