Le nom complet d'une fonction DB2 se présente sous la forme nom-schéma.nom-fonction, où nom-schéma est l'identificateur d'un regroupement logique d'objets SQL. Le nom du schéma utilisé pour les fonctions des extensions DB2 est MMDBSYS. Ce nom sert également de qualificatif pour les types UDT des extensions DB2.
Vous pouvez utiliser son nom complet chaque fois que vous faites référence à une fonction UDF ou à un type UDT. Par exemple, MMDBSYS.CONTENT identifie une fonction UDF dont le nom de schéma est MMDBSYS et le nom de fonction est CONTENT. MMDBSYS.DB2IMAGE identifie un type UDT dont le nom de schéma est MMDBSYS et le nom du type distinct est DB2IMAGE. Il est toutefois possible d'omettre le nom de schéma lorsqu'il est fait référence à UDF ou UDT ; dans ce cas, DB2 utilise le chemin des fonctions pour déterminer la fonction ou le type de données distinct requis.
Le chemin des fonctions est une liste ordonnée des noms de schémas. DB2 suit leur ordre d'apparition dans la liste pour résoudre les références aux fonctions et aux types de données distincts. Vous pouvez spécifier le chemin des fonctions en indiquant l'instruction SQL SET CURRENT FUNCTION PATH. Cette dernière définit le chemin des fonctions dans le registre spécial CURRENT FUNCTION PATH.
Avec DB2 Extensions, il est recommandé d'ajouter le schéma mmdbsys du chemin des fonctions. Cela vous permet d'entrer des noms UDF et UDT DB2 Extensions sans avoir à leur attribuer un préfixe à l'aide de mmdbsys. Voici un exemple d'ajout du schéma mmdbsys au chemin des fonctions :
SET CURRENT FUNCTION PATH = mmdbsys, CURRENT FUNCTION PATH
Ne définissez pas mmdbsys comme premier schéma dans le chemin des fonctions si vous vous connectez à l'aide de l'ID utilisateur mmdbsys : dans ce cas, mmdbsys est défini comme premier schéma dans le chemin des fonctions. Par conséquent, si vous définissez la valeur mmdbsys pour le premier schéma du chemin des fonctions à l'aide de l'instruction SET CURRENT FUNCTION PATH, deux occurrences de ce nom de schéma seront présentes dans le chemin des fonctions, ce qui provoquera une erreur.
Les noms de fonctions peuvent être multi-référencés. Cela signifie que plusieurs fonctions UDF, y compris au sein d'un même schéma, peuvent porter le même nom. En revanche, deux fonctions ne peuvent pas porter la même signature. La signature d'une fonction résulte de la concaténation du nom qualifié complet de la fonction et des types de données de tous les paramètres de cette fonction.