> Tech > Enregistrer une UDTF externe

Enregistrer une UDTF externe

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

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.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010