CODE RETOUR -390

OBJECT object-name, SPECIFIC NAME specific-name, IS NOT VALID IN THE CONTEXT WHERE IT IS USED

Explication :
L’une des situations suivantes s’est produite :

  • Une fonction résolue en une fonction spécifique qui n’est pas valide dans le contexte où elle est utilisée.
  • UNNEST a été utilisé dans un contexte où il n’est pas autorisé.

object-name
Le nom de l’objet.
specific-name
Le nom spécifique. Si specific-name est une chaîne vide, la fonction est résolue en fonction intégrée identifiée par function-name.
Si l’erreur concerne une utilisation non valide de UNNEST, le specific-name est *N.

Les causes possibles de cette erreur incluent :

  • Une fonction scalaire ou d’agrégat est référencée là où seule une fonction de table est autorisée (comme dans la clause FROM d’une requête).
  • Une fonction de table est référencée là où seule une fonction scalaire ou d’agrégat est autorisée (comme dans une expression).
  • Une fonction est référencée dans une clause SOURCE d’une instruction CREATE FUNCTION, mais une fonction source ne peut pas être définie sur cette fonction (ou sur cette signature de fonction spécifique).
  • La fonction XMLMODIFY est référencée là où elle n’est pas l’expression la plus élevée à droite de la clause d’affectation SET dans une mise à jour.
  • Une fonction de table générique est référencée, mais une typed-correlation-clause n’est pas spécifiée.
  • Une clause typed-correlation-clause est spécifiée, mais la fonction référencée n’est pas une fonction de table générique.
  • UNNEST a été spécifié dans un contexte non pris en charge.
  • Une fonction définie CORRELATION, COVARIANCE, COVARIANCE_SAMP ou ARRAY_AGG est référencée lorsqu’une clause CUBE, ROLLUP ou GROUPING SETS existe dans la même instruction SQL.
  • ARRAY_AGG ou LISTAGG est référencé dans un fullselect qui inclut une clause ORDER BY ou une clause DISTINCT.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Pour une fonction, assurez-vous que le nom de fonction et les arguments corrects sont spécifiés et que le chemin SQL inclut le schéma dans lequel la fonction correcte est définie. Vous devrez peut-être modifier le nom de la fonction, les arguments ou le chemin SQL (à l’aide de SET CURRENT PATH ou de l’option de liaison PATH), ou modifier le contexte dans lequel la fonction est utilisée.

SQLSTATE :
42887