Sintaxe ASOF JOIN: uso restrito de palavras-chave (pendente)

Atenção

Essa mudança de comportamento está no pacote 2024_01.

Para saber o status atual do pacote, consulte Histórico do pacote.

O recurso ASOF JOIN se comporta da seguinte maneira:

Antes da mudança

O uso de ASOF e MATCH_CONDITION como nomes de objetos e aliases não é restrito.

Após a mudança

ASOF e MATCH_CONDITION são novas palavras-chave. O uso dessas palavras-chave na sintaxe do comando SELECT é restrito.

Nomes de objetos

Se uma instrução SELECT usar ASOF ou MATCH_CONDITION como nome de uma tabela, exibição ou exibição inline, você deverá identificá-la da seguinte forma:

  • Se o objeto foi criado com aspas duplas no nome, use o mesmo nome entre aspas duplas.

  • Se o objeto foi criado sem aspas duplas no nome, use aspas duplas e letras maiúsculas.

Por exemplo, as seguintes instruções não são mais permitidas e retornam erros:

SELECT * FROM asof;
WITH match_condition AS (SELECT * FROM T1)
  SELECT * FROM match_condition;
Copy

Se você criou os objetos com aspas duplas, corrija o problema usando aspas duplas:

SELECT * FROM "asof";
WITH "match_condition" AS (SELECT * FROM T1)
  SELECT * FROM "match_condition";
Copy

Se você criou os objetos sem aspas duplas, corrija o problema usando aspas duplas e letras maiúsculas:

SELECT * FROM "ASOF";
WITH "MATCH_CONDITION" AS (SELECT * FROM T1)
  SELECT * FROM "MATCH_CONDITION";
Copy

Nota

Snowflake recomenda que você pare de usar esses nomes de objetos em seus aplicativos.

Nomes de aliases

Se uma instrução SELECT usar ASOF ou MATCH_CONDITION como alias, você deverá usar AS antes do alias ou colocar aspas duplas no alias. Por exemplo, as seguintes instruções não são mais permitidas e retornam erros:

SELECT * FROM t1 asof;
SELECT * FROM t2 match_condition;
Copy

Corrija o problema de uma das seguintes maneiras:

SELECT * FROM t1 AS asof;
SELECT * FROM t1 "asof";
SELECT * FROM t2 AS match_condition;
SELECT * FROM t2 "match_condition";
Copy

Ref: 1138