Todos os produtos
Search
Central de documentação

MaxCompute:FUNCTION

Última atualização: Jun 26, 2026

A instrução FUNCTION cria uma função definida pelo usuário (UDF) SQL temporária em um único script. Use-a quando precisar de lógica SQL reutilizável em uma consulta ad hoc ou script, sem registrar uma função permanente no catálogo do MaxCompute.

Para criar uma UDF persistente que todas as consultas do projeto possam chamar, use CREATE SQL FUNCTION.

Limitações

  • Modo script obrigatório. Defina as UDFs no modo de script SQL. Definir uma UDF no modo de edição SQL comum gera erro.

  • Escopo restrito ao script de definição. O sistema de metadados do MaxCompute não armazena UDFs SQL temporárias. Elas não aparecem na lista de funções e outros ambientes de consulta não podem chamá-las.

  • Tipos de dados dos parâmetros de entrada compatíveis com o MaxCompute. Consulte a edição de tipos de dados do MaxCompute V2.0 para obter a lista completa. Ao chamar a UDF, os tipos dos argumentos devem corresponder exatamente aos tipos declarados na definição.

  • Permissões. Criar, consultar, chamar ou remover uma UDF SQL exige permissões no nível de função na sua conta Alibaba Cloud. Consulte permissões do MaxCompute.

Sintaxe

function <function_name>(@<parameter_in1> <datatype>[, @<parameter_in2> <datatype>...])
[returns @<parameter_out> <datatype>]
as [begin]
    <function_expression>
[end];

Parâmetros

Parâmetro

Obrigatório

Descrição

function_name

Sim

Nome da UDF. Deve ser exclusivo no projeto e não pode coincidir com o nome de uma função integrada. Cada nome só pode ser registrado uma vez. Execute LIST FUNCTIONS para verificar conflitos de nomes.

parameter_in

Sim

Parâmetros de entrada. Aceita tipos de dados padrão e tipos de função, incluindo funções anônimas. Consulte o exemplo de parâmetro de entrada do tipo função e o exemplo de função anônima.

datatype

Sim

Tipo de dados de cada parâmetro de entrada. Consulte a edição de tipos de dados do MaxCompute V2.0.

returns

Não

Declaração do valor de retorno. O valor de retorno é uma variável. Se omitido, o sistema retorna o valor de function_name por padrão.

parameter_out

Sim

Nome da variável de saída.

function_expression

Sim

Expressão SQL que implementa a lógica da função.

Exemplos

Definir uma função que soma 1 a um número inteiro

function my_add(@a BIGINT) as @a + 1;

Instruções relacionadas

  • CREATE SQL FUNCTION: crie uma UDF SQL permanente armazenada no sistema de metadados do MaxCompute, acessível a todas as consultas do projeto.

  • DESC FUNCTION: retorna detalhes sobre uma UDF armazenada permanentemente, como nome, proprietário, hora de criação, nome da classe e lista de recursos. Esta instrução não permite consultar UDFs SQL temporárias.

  • DROP FUNCTION: remove uma UDF existente de um projeto MaxCompute.

  • SELECT FUNCTION: selecione uma UDF SQL. Uma UDF SQL temporária só pode ser chamada no script onde foi definida.

  • LIST FUNCTIONS: lista todas as funções registradas em um projeto.