Il est important de comprendre le principe de fonctionnement d'une UDTF externe avant d'en coder une. Bien entendu, la principale priorité est la suivante : établir ce qu'une fonction de table renverra et de quels paramètres elle a besoin pour extraire ces données. Après avoir défini les entrées et les
Enregistrer une UDTF externe
sorties, construisez une instruction
Create Function pour enregistrer
l’UDTF pour SQL. (Remarque : Il est
possible d’exécuter CREATE FUNCTION
avant de créer le programme
mais, pour des raisons de sauvegarde
et de restauration, il vaut mieux enregistrer
la fonction après la création du
programme). La figure 2 montre l’instruction
CREATE FUNCTION nécessaire
pour enregistrer l’UDTF IFSDir.
Cette fonction reçoit un paramètre
(IFSFolder) qui contient le chemin
vers un dossier IFS contenant les fichiers
objet de la requête. Le mot-clé
RETURNS TABLE contient les colonnes
qui sont renvoyées à partir de la fonction
table. Pour IFSDir, ce sont huit éléments
d’information (nom, taille, propriétaire,
par exemple) à propos de
chaque fichier dans le dossier demandeur.
Voici un synopsis des autres motsclés
utilisés dans l’instruction Create
Function :
- EXTERNAL – ce mot-clé indique
que la fonction est écrite en HLL
(langage évolué). Si un nom de programme
n’est pas spécifié, SQL suppose
que le nom de la fonction et le
nom du programme sont identiques.
Dans ce cas, le programme RPG
IFSDir a le même nom que la fonction. - LANGUAGE RPGLE – ce mot-clé indique
que ILE RPG est le langage
hôte. SQL suppose que ce langage
est C, donc ne sautez pas cette option
si vous utilisez, par exemple,
RPG. La spécification du langage a
des ramifications en matière de
transmission de paramètres. - DISALLOW PARALLEL – ce mot-clé
indique qu’une fonction ne peut pas
être exécutée en parallèle et qu’elle
est nécessaire lorsqu’on crée des
fonctions table. - RETURNS NULL ON NULL INPUT
– cette spécification ordonne à SQL
de renvoyer automatiquement une
table vide si l’un quelconque des paramètres
transmis à la fonction est
NULL. Dans ce cas, le code SPL ou
HLL qui implémente la fonction
n’est même pas exécuté. - PARAMETER STYLE DB2SQL – ce
mot-clé contrôle la manière dont la
liste des paramètres est construite
pour le programme appelant. A
moins d’écrire une UDTF externe en
JAVA, vous spécifierez toujours
DB2SQL.
Consultez le guide DB2 UDB for
iSeries SQL Reference (voir http://publib.
boulder.ibm.com/iseries/v5r2/ic29
24/ info/db2/rbafzmst.pdf) pour plus
d’informations sur les autres options
disponibles quand on crée des fonctions
externes.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
