UDF in una query SQL

Dopo aver registrato una UDF nel sistema, l'utente e gli altri utenti autorizzati possono richiamare la funzione nello stesso modo delle funzioni integrate di Netezza Performance Server SQL. Per utilizzare una UDF, gli utenti devono avere il privilegio di esecuzione per l'oggetto FUNCTION o per la UDF specifica.

Nota: per impostazione predefinita, l'account utente admin ha accesso esecutivo a tutte le funzioni e gli aggregati definiti dall'utente. L'account utente che ha registrato una UDF ha anche accesso all'esecuzione di tale UDF. Il proprietario del database ha i privilegi per eseguire le UDF nel database e, per i sistemi che supportano più schemi, il proprietario dello schema ha i privilegi per eseguire tutte le UDF nello schema. Ad altri utenti può essere dato il privilegio di eseguire UDF specifiche o tutte.
Per la funzione di esempio " customername, creare innanzitutto una tabella di esempio che contenga i dati che verranno elaborati dalla funzione. Ad esempio:
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');
Quindi, è possibile eseguire la funzione di esempio 'customername, come segue:
MYDB.SCHEMA(MYUSER)=> SELECT * FROM customers WHERE CustomerName(b) = 1;
Segue un esempio di output:
 A | B
---+------------------
 1 | Customer A
 4 | Customer ABC
(2 rows)

È possibile utilizzare nomi completamente qualificati per accedere alle funzioni di altri database e schemi. L'utente che esegue la query deve avere i privilegi di accesso all'UDX nell'altro database. Ad esempio:

DEV.USER2(USER2)=> SELECT * FROM mydb.schema.customers WHERE
mydb.schema.CustomerName(b) = 1;