Funzioni ESQL

Una funzione è una struttura ESQL che calcola un valore da un numero di valori di input forniti.

Generalmente, una funzione dispone di parametri di input e può avere, in alcuni casi, dei parametri di output. Restituisce un valore calcolato dall'algoritmo descritto dalla relativa istruzione. Tale istruzione è generalmente un'istruzione composta, come, ad esempio, BEGIN... END, perché in questo modo è possibile utilizzare un numero illimitato di istruzioni nidificate per implementare l'algoritmo.

ESQL fornisce un numero di funzioni predefinite, o "integrate", che è possibile utilizzare all'interno delle espressioni. E' anche possibile utilizzare l'istruzione CREATE FUNCTION per definire le proprie funzioni.

Quando si definisce una funzione, è necessario assegnare un nome univoco. Il nome è gestito indipendentemente dalle lettere maiuscole/minuscole (l'utilizzo del nome con qualsiasi combinazione di lettere maiuscole e minuscole corrisponde alla dichiarazione). Ciò è in contrasto con i nomi dichiarati per gli schemi, le costanti, le variabili e le etichette, che sono sensibili al maiuscolo/minuscolo e devono essere specificati esattamente nel modo in cui sono stati dichiarati.

Considerare il seguente frammento di programma ESQL:

SET Diameter = SQRT(Area / 3.142) * 2;

In questo esempio, alla funzione SQRT (radice quadrata) viene assegnato il valore tra parentesi (a sua volta, risultato di un'espressione, un'operazione di divisione) ed il risultato viene utilizzato in un'ulteriore espressione, un'operazione di moltiplicazione. Il valore restituito viene assegnato alla variabile Diameter. Consultare Richiamo delle funzioni ESQL per informazioni relative a tutte le funzioni ESQL integrate.

Inoltre, un'espressione ESQL può fare riferimento ad una funzione in un altro schema broker (ad esempio, una funzione definita da un'istruzione CREATE FUNCTION in un file ESQL nello stesso progetto dipendente oppure in un altro progetto dipendente). Per risolvere il nome della funzione richiamata, è necessario effettuare una delle operazioni riportate di seguito:

Notare che non è possibile definire una funzione all'interno di un'istruzione EVAL o di una funzione EVAL.

Concetti correlati
Panoramica dei flussi di messaggi
Panoramica delle mappature di messaggi
Attività correlate
Sviluppo di flussi di messaggi
Sviluppo di ESQL
Riferimenti correlati
Nodi integrati
Riferimento ESQL
Richiamo delle funzioni ESQL
Istruzione CREATE FUNCTION
Istruzione CREATE MODULE
Istruzione CREATE PROCEDURE
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ak01080_