Todos los productos
Search
Centro de documentos

MaxCompute:FUNCIÓN

Última actualización: Sep 03, 2026

La instrucción FUNCTION crea una función definida por el usuario (UDF) SQL temporal dentro de un solo script. Utilícela cuando necesite lógica SQL reutilizable en una consulta ad hoc o en un script sin registrar una función permanente en el catálogo de MaxCompute.

Para crear una UDF persistente que todas las consultas del proyecto puedan invocar, utilice CREATE SQL FUNCTION.

Limitaciones

  • Modo script obligatorio. Defina las UDF en el modo de script SQL. Si define una UDF en el modo de edición SQL común, se generará un error.

  • Alcance limitado al script de definición. Una UDF SQL temporal no se almacena en el sistema de metadatos de MaxCompute. No aparece en la lista de funciones ni puede invocarse desde otros entornos de consulta.

  • Los tipos de datos de los parámetros de entrada deben ser compatibles con MaxCompute. Consulte la edición de tipos de datos de MaxCompute V2.0 para obtener la lista completa. Al invocar la UDF, los tipos de los argumentos deben coincidir exactamente con los declarados en la definición.

  • Permisos. Crear, consultar, invocar o eliminar una UDF SQL requiere permisos de función en su cuenta de Alibaba Cloud. Consulte Permisos de MaxCompute.

Sintaxis

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

Parámetros

Parameter

Required

Description

function_name

Sí

Nombre de la UDF. Debe ser único en el proyecto y no puede coincidir con el de una función integrada. Cada nombre solo se registra una vez. Ejecute LIST FUNCTIONS para comprobar si existen conflictos de nombres.

parameter_in

Sí

Parámetros de entrada. Admite tipos de datos estándar y tipos de función, incluidas las funciones anónimas. Consulte el ejemplo de parámetro de entrada de tipo función y el ejemplo de función anónima.

datatype

Sí

Tipo de dato de cada parámetro de entrada. Consulte la edición de tipos de datos de MaxCompute V2.0.

returns

No

Declaración del valor de retorno. Este valor es una variable. Si se omite, se devuelve el valor de function_name de forma predeterminada.

parameter_out

Sí

Nombre de la variable de salida.

function_expression

Sí

Expresión SQL que implementa la lógica de la función.

Ejemplos

Definir una función que suma 1 a un número entero

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

Instrucciones relacionadas

  • CREATE SQL FUNCTION: crea una UDF SQL permanente almacenada en el sistema de metadatos de MaxCompute, available para todas las consultas del proyecto.

  • DESC FUNCTION: devuelve detalles sobre una UDF almacenada permanentemente, como nombre, propietario, fecha de creación, nombre de clase y lista de recursos. Esta instrucción no permite consultar UDF SQL temporales.

  • DROP FUNCTION: elimina una UDF existente de un proyecto de MaxCompute.

  • SELECT FUNCTION: invoca una UDF SQL. Las UDF SQL temporales solo se pueden invocar en el script donde se definieron.

  • LIST FUNCTIONS: enumera todas las funciones registradas en un proyecto.