Funções de tabela (exceto UDTFs SQL): restrições com funções de tabela lateral e junções laterais externas¶
Atenção
Essa mudança de comportamento está no pacote 2023_04.
Para saber o status atual do pacote, consulte Histórico do pacote.
Na versão atual, o seguinte não é mais permitido:
Funções de tabela lateral (exceto UDTFs SQL) que são especificadas com a cláusula ON.
Junções laterais externas para funções de tabela (exceto UDTFs SQL) que especificam a cláusula ON.
Observe que essa restrição também se aplica a instruções que usam cláusulas equivalentes à cláusula ON (a cláusula USING e NATURAL JOIN).
Funções de tabela que não sejam UDTFs SQL incluem funções de tabela embutidas e as UDTFs definidas em idiomas diferentes de SQL.
- Anteriormente:
Você podia especificar:
A cláusula ON (ou a cláusula USING ou NATURAL JOIN) para funções de tabela lateral (exceto UDTFs SQL).
Por exemplo:
Uma junção lateral externa para uma função de tabela (diferente de UDTFs SQL), usando a cláusula ON (ou a cláusula USING ou NATURAL JOIN).
Por exemplo:
- Atualmente:
Ao executar as instruções acima, ocorre um erro com a seguinte mensagem:
Esta restrição não se aplica se você estiver usando uma vírgula para especificar a junção:
Por exemplo:
Esta restrição também não se aplica se a cláusula ON (ou a cláusula USING ou NATURAL JOIN) não for especificada:
Por exemplo:
Essa restrição foi adicionada porque esses tipos de consultas podem resultar em comportamento inconsistente. Esses tipos de consultas não são suportados.
Ref: 1057