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
Les mégatendances cybersécurité et cyber protection 2024
L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.