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.