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., Sie können den Namen mit einer beliebigen Kombination aus Groß- und Kleinbuchstaben verwenden, er stimmt trotzdem mit der Deklaration überein). Im Gegensatz dazu muss bei Namen, die Sie für Schemata, Konstanten, Variablen und Kennungen deklarieren, die Groß-/Kleinschreibung beachtet werden, und Sie müssen diese Namen genau so angeben, wie Sie sie deklariert haben.
Nehmen wir als Beispiel folgendes ESQL-Programmfragment:
SET Diameter = SQRT(Area / 3.142) * 2;
In diesem Beispiel wird der SQRT-Funktion (Quadratwurzel) der Wert in Klammern zugeordnet (selbst das Ergebnis eines Ausdrucks, einer Divisionsoperation), und das Ergebnis wird in einem weiteren Ausdruck verwendet, einer Multiplikationsoperation. Der Rückgabewert wird der Variablen 'Diameter' zugeordnet. Informationen zu allen integrierten ESQL-Funktionen erhalten Sie unter ESQL-Funktionen aufrufen.
Sie können keine Funktion mit einer EVAL-Anweisung oder einer EVAL-Funktion definieren.