SQL general: Changes to error messages for subqueries¶
Attention
Ce changement de comportement fait partie du 2026_01 bundle.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
Les messages d’erreur des sous-requêtes se comportent de la manière suivante :
- Avant la modification:
Lorsqu’une sous-requête renvoie une erreur, le message d’erreur ne contient aucune information spécifique sur le code ou objet SQL.
- Après la modification:
Lorsque certaines sous-requêtes renvoient une erreur, le message d’erreur contient des informations spécifiques, telles que les détails suivants :
La ligne et la position du code non pris en charge dans la sous-requête.
Le nom de l’objet, tel qu’une vue ou une fonction, qui contient la sous-requête non prise en charge. Lorsque des objets sont imbriqués, le nom de l’objet le plus éloigné est renvoyé. Par exemple, si une vue avec une sous-requête non prise en charge est imbriquée dans une vue sécurisée, le message d’erreur indique le nom de la vue sécurisée.
Le nom du type d’objet, tel qu’une politique de masquage, qui contient la sous-requête non prise en charge.
Les codes d’erreur liés aux sous-requêtes ne sont pas modifiés.
Note
Ce changement de comportement ne s’applique pas aux sous-requêtes dans les jointures latérales ou dans les fonctions de table définies par l’utilisateur (UDTFs).
Exemples¶
Les exemples suivants montrent des modifications apportées aux messages d’erreur pour les sous-requêtes.
Créez trois tables et insérez des données dans chacune d’entre elles :
Ces tables sont utilisées dans les exemples suivants :
Sous-requête non prise en charge¶
Exécuter une sous-requête non prise en charge qui renvoie une erreur :
Cette requête renvoie une erreur car la colonne corrélée a se trouve dans la clause ON d’une jointure gauche.
Avant le changement de comportement, l’erreur suivante est renvoyée :
Après le changement de comportement, l’erreur suivante est renvoyée :
Vue sécurisée avec une sous-requête non prise en charge¶
Créez une vue sécurisée avec une sous-requête non prise en charge et interrogez la vue :
Avant le changement de comportement, l’erreur suivante est renvoyée :
Après le changement de comportement, l’erreur suivante est renvoyée :
Politique de masquage avec une sous-requête non prise en charge¶
Créer une politique de masquage avec une sous-requête non prise en charge, modifier une table pour utiliser la politique de masquage et interroger la table :
Avant le changement de comportement, l’erreur suivante est renvoyée :
Après le changement de comportement, l’erreur suivante est renvoyée :
Réf : 2140