Eine Funktion ist ein ESQL-Konstrukt, das aus einer Reihe bestimmter Eingabewerte einen Wert berechnet.
In der Regel verfügt eine Funktion über Eingabeparameter und kann (nicht zwingend) auch Ausgabeparameter haben. Sie gibt einen Wert zurück, der von dem in ihrer Anweisung beschriebenen Algorithmus berechnet wurde. Bei dieser Anweisung handelt es sich üblicherweise um eine Verbindungsanweisung wie BEGIN... END, da mit ihr die Verwendung einer unbegrenzten Anzahl an verschachtelten Anweisungen zur Implementierung des Algorithmus möglich ist.
ESQL verfügt über eine Reihe an vordefinierten oder "integrierten" Funktionen, die Sie nach Belieben in Ausdrücken verwenden können. Mit der Anweisung CREATE FUNCTION (Funktion erstellen) können Sie auch eigene Funktionen definieren.
Wenn Sie eine Funktion definieren, müssen Sie ihr einen eindeutigen Namen geben. Bei dem Namen muss die Groß-/Kleinschreibung nicht beachtet werden (d. h., eine beliebige Kombination von Groß- und Kleinbuchstaben stimmt mit der Deklaration überein). Dies unterscheidet den Funktionsnamen von den Namen für Schemas, Konstanten, Variablen und Kennungen, bei denen die Groß-/Kleinschreibung beachtet werden muss und die Sie entsprechend Ihrer Deklaration angeben müssen.
Sehen Sie sich den folgenden ESQL-Programmteil an:
SET Diameter = SQRT(Area / 3.142) * 2;
In diesem Beispiel wird der Funktion SQRT (Quadratwurzel) der Wert in den Klammern (das Ergebnis eines Ausdrucks, einer Division) zugeordnet. Das Ergebnis wird in einer weiteren Operation, einer Multiplikation, verwendet. Der Rückgabewert wird der Variablen 'Diameter' zugeordnet. Informationen zu allen integrierten ESQL-Funktionen finden Sie unter ESQL-Funktionen aufrufen.
Sie können keine Funktion mit einer EVAL-Anweisung oder einer EVAL-Funktion definieren.