Una función es un expresión ESQL que calcula un valor a partir de varios valores de entrada específicos.
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 varias funciones definidas previamente, 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 darle un nombre exclusivo. El nombre se utiliza sin distinguir entre mayúsculas y minúsculas, esto es, puede utilizar el nombre con cualquier combinación de letras mayúsculas o minúsculas que coincida con la declaración. Esto es diferente a los nombres que se declaran para esquemas, constantes, variables y etiquetas que se manejan como si fueran sensibles a las mayúsculas y minúsculas y que debe especificar exactamente tal y como los ha declarado.
Observe el fragmento de programa ESQL siguiente:
SET Diameter = SQRT(Area / 3.142) * 2;
En este ejemplo, a la función SQRT (raíz cuadrada) se le proporciona el valor incluido entre paréntesis, que es el valor resultante de una expresión, esto es, una operación de división, y se utiliza el resultado en una expresión adicional, esto es, 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.