Instrução CREATE FUNCTION

A instrução CREATE FUNCTION define uma função.

Forneça o nome da função utilizando FunctionName e os parâmetros da função utilizando ParameterList. A função retorna uma valor do tipo DataType e é implementada utilizando a instrução ESQL única Statement. Essa instrução também pode ser composta, por exemplo BEGIN ... END.

Sintaxe

Notas:
  1. Quando as cláusulas NAMESPACE e NAME são utilizadas, os valores são implicitamente constantes e do tipo CHARACTER (ou CHAR).

Para obter informações adicionais sobre o uso de instruções CONSTANT, consulte Instrução DECLARE.

Funções ESQL, diferente de procedimentos ESQL, podem ter apenas parâmetros de entrada. As variáveis definidas dentro da lista de parâmetros da definição da função são lidas somente dentro do escopo da função. Se você tentar modificar o valor de uma variável de um parâmetro de entrada dentro de uma instrução composta de uma função, ocorrerá uma condição de exceção, indicando que isso não é possível.

Se um parâmetro for do tipo REFERENCE, é possível emitir o comando MOVE na variável de referência; isso não modifica o valor da variável ao qual ele está fazendo referência. No entanto, quando a função é concluída e o processamento retorna para o responsável pela chamada, a variável REFERENCE faz referência à variável anterior à chamada da função.

As funções do módulo são locais no escopo apenas para o nó atual. Se quiser utilizar a mesma função em mais de um nó, defina-a como uma função de esquema.

Quando você omite o parâmetro opcional schemaName, o analisador SQL do intermediário procura pela função nomeada utilizando o algoritmo descrito na instrução PATH; consulte Cláusula PATH.

Quando especificar o parâmetro schemaName, a função exata especificada será resolvida sem a procura.

Cada esquema fornece uma função exclusiva e um espaço de símbolo de procedimento.
Nota:
  1. Se a chamada da função for ambígua, isto é, existirem duas funções com o mesmo nome em esquemas diferentes, e a referência não for qualificada pelo schemaName opcional, o conjunto de ferramentas Eclipse gera um erro do visualizador de Tarefas que deve ser corrigido para implementar o código ambíguo.
  2. A Sobrecarga da Função não é Suportada
  3. As funções internas foram colocadas efetivamente em um esquema predefinido chamado SQL. Funções no nível do módulo definidas pelo usuário com o mesmo nome têm precedência sobre essas funções integradas.

Conceitos relacionados
ESQL

Tarefas relacionadas
Desenvolvendo ESQL

Referências relacionadas
Preferência de Sintaxe
instruções ESQL
Instrução DECLARE
Cláusula PATH