Tous les produits
Search
Centre de documentation

MaxCompute:FUNCTION

Dernière mise à jour :Aug 10, 2026

L'instruction FUNCTION crée une fonction définie par l'utilisateur (UDF) SQL temporaire au sein d'un script unique. Utilisez-la pour intégrer une logique SQL réutilisable dans une requête ou un script ponctuel, sans enregistrer de fonction permanente dans le catalogue MaxCompute.

Pour une UDF persistante appelable par toutes les requêtes du projet, utilisez plutôt l'instruction CREATE SQL FUNCTION.

Limites

  • Mode script requis. Définissez les UDF en mode script SQL. La définition d'une UDF en mode d'édition SQL standard génère une erreur.

  • Portée limitée au script de définition. Une UDF SQL temporaire n'est pas stockée dans le système de métadonnées MaxCompute. Elle n'apparaît pas dans la liste des fonctions et ne peut pas être appelée depuis d'autres environnements de requête.

  • Les types de données des paramètres d'entrée doivent être pris en charge par MaxCompute. Consultez la documentation sur les types de données MaxCompute V2.0 pour obtenir la liste complète. Lors de l'appel de l'UDF, les types des arguments doivent correspondre exactement aux types déclarés dans la définition.

  • Autorisations. La création, l'interrogation, l'appel ou la suppression d'une UDF SQL nécessite des autorisations au niveau de la fonction sur votre compte Alibaba Cloud. Consultez les autorisations MaxCompute.

Syntaxe

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

Paramètres

Paramètre

Obligatoire

Description

function_name

Oui

Nom de l'UDF. Il doit être unique au sein du projet et ne peut pas correspondre au nom d'une fonction intégrée. Chaque nom ne peut être enregistré qu'une seule fois. Exécutez LIST FUNCTIONS pour vérifier les conflits de noms.

parameter_in

Oui

Paramètres d'entrée. Accepte les types de données standard et les types de fonction, y compris les fonctions anonymes. Consultez l'exemple de paramètre d'entrée de type fonction et l'exemple de fonction anonyme.

datatype

Oui

Type de données de chaque paramètre d'entrée. Consultez la documentation sur les types de données MaxCompute V2.0.

returns

Non

Déclaration de la valeur de retour. La valeur de retour est une variable. Si cette clause est omise, la valeur de function_name est renvoyée par défaut.

parameter_out

Oui

Nom de la variable de sortie.

function_expression

Oui

Expression SQL qui implémente la logique de la fonction.

Exemples

Définir une fonction qui ajoute 1 à un entier

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

Instructions connexes

  • CREATE SQL FUNCTION : crée une UDF SQL permanente stockée dans le système de métadonnées MaxCompute, appelable par toutes les requêtes du projet.

  • DESC FUNCTION : renvoie les détails concernant une UDF stockée de manière permanente : nom, propriétaire, heure de création, nom de classe et liste des ressources. Les UDF SQL temporaires ne peuvent pas être interrogées avec cette instruction.

  • DROP FUNCTION : supprime une UDF existante d'un projet MaxCompute.

  • SELECT FUNCTION : appelle une UDF SQL. Une UDF SQL temporaire n'est appelable que dans le script où elle est définie.

  • LIST FUNCTIONS : répertorie toutes les fonctions enregistrées dans un projet.