Fonctions de table (sauf UDTFs SQL) : restrictions concernant les fonctions de tables latérales et les jointures latérales externes¶
Attention
Ce changement de comportement est présent dans le bundle 2023_04.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
Dans la version actuelle, les éléments suivants ne sont plus autorisés :
Les fonctions des tables latérales (autres que des UDTFs SQL) qui sont spécifiées avec la clause ON.
Jointures latérales externes vers des fonctions de table (autres que des UDTFs SQL) qui spécifient la clause ON.
Notez que cette restriction s’applique également aux instructions qui utilisent des clauses équivalentes à la clause ON (la clause USING et NATURAL JOIN).
Les fonctions de table autres que des UDTFs SQL comprennent les fonctions de table intégrées et les UDTFs définies dans des langages autres que SQL.
- Précédemment:
Vous pouviez spécifier :
La clause ON (ou la clause USING ou NATURAL JOIN) pour les fonctions de table latérales (autres que des UDTFs SQL).
Par exemple :
Une jointure latérale externe à une fonction de table (autre que des UDTFs SQL), en utilisant la clause ON (ou la clause USING ou NATURAL JOIN).
Par exemple :
- Actuellement:
Lorsque vous exécutez les instructions ci-dessus, une erreur se produit avec le message suivant :
Cette restriction ne s’applique pas si vous utilisez une virgule pour spécifier la jointure :
Par exemple :
Cette restriction ne s’applique pas non plus si la clause ON (ou la clause USING ou NATURAL JOIN) n’est pas spécifiée :
Par exemple :
Cette restriction était ajoutée parce que ce type de requêtes peut donner lieu à des comportements incohérents. Ces types de requêtes ne sont pas pris en charge.
Réf : 1057