ODC prend en charge la création visuelle de fonctions. Cette rubrique explique comment créer une fonction avec ODC.
Vue d'ensemble
Une fonction est un sous-programme défini dans une base de données. Vous pouvez appeler des fonctions à l'aide d'instructions SQL intégrées. Si les fonctions intégrées ne répondent pas à vos besoins métier, OceanBase Developer Center (ODC) vous permet de créer vos propres fonctions. Les fonctions définies par l'utilisateur facilitent certains calculs et opérations spéciales, tout en réduisant la redondance du code pour améliorer sa lisibilité.
Une fonction est un objet procédural similaire à une procédure stockée. Comme cette dernière, elle est constituée d'instructions SQL et procédurales, et peut être appelée par des applications ou d'autres instructions SQL.
Différences entre une fonction définie par l'utilisateur et une procédure stockée :
Une fonction renvoie un seul résultat et convient au traitement de données générant une valeur unique. Une procédure stockée peut renvoyer zéro ou plusieurs résultats et convient aux insertions et mises à jour par lots.
Appelez une fonction à l'aide d'une instruction SELECT. Appelez une procédure stockée à l'aide d'une instruction CALL.

Comme illustré ci-dessus, créez une fonction en suivant ces six étapes :
Spécifiez le nom de la fonction.
Spécifiez le type de données de la valeur de retour.
Spécifiez les paramètres.
Vérifiez les paramètres de la nouvelle fonction.
Modifiez la fonction.
Terminez la création de la fonction.
Dans l'exemple suivant, une fonction nommée function_emp est créée dans la console ODC pour récupérer le nom d'un employé à partir de la table des employés, en fonction de son ID. La fonction function_emp contient un paramètre id de type INT.
Les données utilisées dans cette rubrique sont fournies à titre d'exemple. Remplacez-les par vos données réelles si nécessaire.
Procédure
Étape 1 : Spécifiez le nom de la fonction.
Connectez-vous à la console ODC et cliquez sur le nom d'une connexion pour accéder à sa page de gestion. Cliquez sur Function dans le volet de navigation de gauche pour afficher la liste des fonctions. Pour créer une fonction, cliquez sur + dans le coin supérieur droit de la liste ou sur Create dans la barre de navigation supérieure.

Étape 2 : Spécifiez le type de données de la valeur de retour.
Étape 3 : Spécifiez les paramètres.
-
Les paramètres définissent les informations transmises à la fonction lors de son appel.
En mode Oracle, spécifiez les champs suivants : Name, Mode, Type et Default Value.
En mode MySQL, spécifiez les champs suivants : Name, Type et Length.
Utilisez l'une des trois méthodes suivantes pour spécifier les paramètres.
Méthode | Description |
Utiliser la barre d'accès rapide | Depuis la barre d'accès rapide, ajoutez, supprimez ou déplacez les paramètres vers le haut ou le bas. |
Cliquer sur le numéro de ligne |
|
Clic droit | Effectuez un clic droit pour sélectionner toute la ligne, la copier ou la déplacer vers le bas. |
-
Spécifiez le mode des paramètres.
Le choix du mode n'est pas disponible en mode MySQL. Le mode Oracle prend en charge les modes suivants : IN, OUT et INOUT.
**Paramètre**
|
**Type**
| | --- | --- | |
IN
|
Indique un paramètre d'entrée. Lors de l'appel de la fonction, ce paramètre lui est transmis et utilisé pendant son exécution.
| |
OUT
|
Indique un paramètre de sortie. Lors de l'appel de la fonction, la valeur initiale du paramètre est ignorée et une valeur vide est transmise. Le paramètre peut être modifié dans le corps de la fonction. Le résultat modifié est renvoyé à l'argument correspondant.
| |
INOUT
|
Indique un paramètre d'entrée/sortie. Il sert à la fois de paramètre d'entrée et de sortie.
|
En mode Oracle, les fonctions et les procédures stockées prennent en charge les modes IN, OUT et INOUT. En mode MySQL, les fonctions ne prennent en charge que le mode IN, tandis que les procédures stockées prennent en charge les modes IN, OUT et INOUT.
Étape 4 : Vérifiez les paramètres de la nouvelle fonction.
Cliquez sur OK pour accéder à la page de création de fonction.
Étape 5 : Modifiez la fonction.

Modifiez l'instruction de la fonction sur la page de création. Vous pouvez y éditer le code SQL de la fonction. Syntaxe :
CREATE FUNCTION < function name > ([ <parameter 1> <type 1> [ , <parameter 2> <type 2>] ] …)
RETURNS < type >
< function body >
Paramètres :
Paramètre | Description |
< function name > | Nom de la fonction définie par l'utilisateur. Important Le nom d'une fonction définie par l'utilisateur ne doit pas être identique à celui d'une procédure stockée. |
< parameter >< type > | Paramètres de la fonction. Ce champ contient uniquement le nom et le type. Ne spécifiez pas les mots-clés IN, OUT ou INOUT. |
RETURNS< type > | Type de données de la valeur de retour. Important L'instruction SELECT dans une clause RETURN ne doit renvoyer qu'une seule valeur (une seule ligne et une seule colonne). |
< function body > | Corps de la fonction définie par l'utilisateur. Il doit contenir une instruction |
Exemple :
CREATE FUNCTION `function_emp` ( `id` int(45)) RETURNS VARCHAR(300)
-- The start of the function body.
BEGIN
-- Declare a variable.
DECLARE
a VARCHAR(300);
-- Assign a value to the variable.
SELECT
name INTO a
FROM
employee
WHERE
emp_no = id;
-- The return value.
RETURN a;
-- The end of the function body.
END
Étape 6 : Terminez la création de la fonction.
Cliquez sur Create dans le coin supérieur droit pour créer la fonction. Une fois la fonction définie par l'utilisateur créée, appelez-la à l'aide d'une instruction SELECT, comme pour une fonction intégrée.
Pour gérer une fonction, effectuez un clic droit sur son nom dans le volet de navigation de gauche, puis sélectionnez l'opération souhaitée dans le menu contextuel. Les options disponibles sont : View , Create , Edit , Compile , Debug , Run , Download , Delete et Refresh . Les options Edit , Compile et Debug ne sont pas prises en charge en mode MySQL. Pour plus d'informations, consultez la section Créer une fonction .
Syntaxe :
SELECT <function name> ([<parameter> [,...]])
Exemple :
SELECT function_emp(2);
