UDF dans une requête SQL
Une fois que vous avez enregistré un UDF dans votre système, vous et les autres utilisateurs autorisés pouvez appeler la fonction de la même manière que les fonctions intégrées SQL de Netezza Performance Server Pour utiliser un UDF, les utilisateurs doivent disposer du privilège Execute pour l'objet FUNCTION ou pour l'UDF spécifique.
CREATE TABLE customers (a INT, b VARCHAR(200));
INSERT INTO customers VALUES (1, 'Customer A');
INSERT INTO customers VALUES (2, 'Customer B');
INSERT INTO customers VALUES (3, 'Customer CBA');
INSERT INTO customers VALUES (4, 'Customer ABC');
MYDB.SCHEMA(MYUSER)=> SELECT * FROM customers WHERE CustomerName(b) = 1; A | B
---+------------------
1 | Customer A
4 | Customer ABC
(2 rows)Vous pouvez utiliser des noms pleinement qualifiés pour accéder à des fonctions dans d'autres bases de données et schémas. L'utilisateur qui exécute la requête doit avoir des privilèges d'accès à l'UDX dans l'autre base de données. Par exemple :
DEV.USER2(USER2)=> SELECT * FROM mydb.schema.customers WHERE
mydb.schema.CustomerName(b) = 1;