CODE RETOUR -476

REFERENCE TO ROUTINE routine-name WAS IDENTIFIED WITHOUT A SIGNATURE, OR BY BOTH SIGNATURE AND SPECIFIC NAME, BUT THE ROUTINE IS NOT UNIQUE WITHIN ITS SCHEMA

Explication
Les références à une routine sans signature sont autorisées, mais la routine routine-name  identifiée doit être unique dans son schéma et elle ne l’est pas.

Notez également que dans les instructions ALTER FUNCTION, DROP FUNCTION, COMMENT, GRANT et REVOKE (pour EXECUTE sur les fonctions), une référence non qualifiée est qualifiée avec le schéma par défaut, et c’est le schéma où le problème peut être trouvé. Dans la clause SOURCE d’une instruction CREATE FUNCTION, la qualification provient du chemin SQL. Dans ce cas, le premier schéma du chemin contenant une fonction de ce nom avait d’autres fonctions du même nom.

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

Réponse du programmeur
Si l’instruction fait référence à une fonction, effectuez l’une des actions suivantes :

  • Complétez la signature.
  • Utilisez le nom SPÉCIFIQUE de la fonction.
  • Modifiez le chemin SQL.

Si l’instruction fait référence à une procédure, une procédure du même nom existe, mais il existe des différences dans la liste des paramètres. Pour modifier la liste des paramètres de la procédure existante, ajoutez la clause SPECIFIC avec le nom de la procédure à l’instruction CREATE.

SQLSTATE
42725