Una función es una construcción ESQL que calcula un valor a partir de una serie de valores de entrada especificados.
Normalmente, una función tiene parámetros de entrada y puede tener, aunque a menudo no tenga, parámetros de salida. Devuelve un valor calculado por el algoritmo descrito por su sentencia. Normalmente, se trata de una sentencia compuesta como, por ejemplo, BEGIN... END, porque esto permite un número ilimitado de sentencias anidadas que se pueden utilizar para implementar el algoritmo.
ESQL proporciona una serie de funciones predefinidas, o "incorporadas", que puede utilizar libremente en las expresiones. También puede utilizar la sentencia CREATE FUNCTION para definir sus propias funciones.
Cuando define una función, debe asignarle un nombre exclusivo. El nombre se maneja sin distinguir entre mayúsculas y minúsculas (es decir, el uso del nombre con cualquier combinación de letras mayúsculas y minúsculas coincide con la declaración). Esto es diferente a los nombres que se declaran para esquemas, constantes, variables y etiquetas, que se manejan respetando las mayúsculas y minúsculas, y que debe especificar exactamente tal como los ha declarado.
Observe el fragmento de programa ESQL siguiente:
SET Diameter = SQRT(Area / 3.142) * 2;
En este ejemplo, la función SQRT (raíz cuadrada) tiene asignado el valor incluido entre paréntesis (que es el valor resultante de una expresión, una operación de división) y su resultado se utiliza en una expresión adicional, una operación de multiplicación. El valor que devuelve se asigna a la variable Diameter. Consulte Llamar a funciones ESQL para obtener información sobre todas las funciones ESQL incorporadas.
Observe que no puede definir una función en una sentencia EVAL o en una función EVAL.