Sentencia CREATE FUNCTION

La sentencia CREATE FUNCTION define una función.

Proporcione el nombre de la función utilizando FunctionName y los parámetros de la función utilizando ParameterList. La función devuelve un valor del tipo DataType y se implementa mediante una única sentencia ESQL, Sentencia. Esta sentencia también puede ser una sentencia compuesta, por ejemplo, BEGIN ... END.

Sintaxis

Notas:
  1. Cuando se utilizan las cláusulas NAMESPACE y NAME, los valores son implícitamente constantes y del tipo CHARACTER (o CHAR).

Si desea más información sobre el uso de sentencias CONSTANT, consulte el apartado Sentencia DECLARE.

Las funciones ESQL, a diferencia de los procedimientos ESQL, sólo pueden tener parámetros de entrada. Las variables definidas en la lista de parámetros de la definición de función sólo se leen dentro del ámbito de la función. Si intenta modificar el valor de una variable de parámetro de entrada en una sentencia compuesta de funciones, se producirá una condición de excepción, que indica que esto no es posible.

Si un parámetro es del tipo REFERENCE, puede emitir un mandato MOVE en la variable de referencia; esto no modifica el valor de la variable a la que hace referencia. Sin embargo, cuando la función se haya completado y el proceso vuelva al llamador, la variable REFERENCE hará referencia a la misma variable que antes de que se llamara la función.

Las funciones de módulo son de ámbito local sólo para el nodo actual. Si desea utilizar la misma función en más de un nodo, defínalo como una función de esquema.

Cuando omita el parámetro schemaName opcional, el analizador SQL del analizador busca la función con nombre utilizando el algoritmo descrito en la sentencia PATH; consulte el apartado Cláusula PATH.

Cuando especifique el parámetro schemaName, la función exacta especificada se resolverá sin realizar la búsqueda.

Cada esquema proporciona un espacio de símbolo de función y procedimiento exclusivo.
Nota:
  1. Si una invocación a función es ambigua, es decir, hay dos funciones con el mismo nombre en esquemas diferentes y la referencia no está calificada por el schemaName opcional, el conjunto de herramientas de Eclipse generará un error de visor de Tareas que se debe corregir para difundir el código ambiguo.
  2. La sobrecarga de función no está soportada
  3. Las funciones incorporadas, en efecto, se han colocado en un esquema predefinido denominado SQL. Las funciones de nivel de módulo definidas por el usuario del mismo nombre tienen preferencia sobre estas funciones incorporadas.

Conceptos relacionados
ESQL

Tareas relacionadas
Desarrollo de ESQL

Referencia relacionada
Preferencia de sintaxis
Sentencias ESQL
Sentencia DECLARE
Cláusula PATH