Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Créer une procédure stockée

Dernière mise à jour :Aug 09, 2026

ODC prend en charge la création visuelle de procédures stockées. Cette rubrique explique comment créer une procédure stockée avec ODC.

Aperçu

Une procédure stockée est un ensemble d'une ou plusieurs instructions. Pour exécuter une série d'opérations complexes sur une base de données, utilisez une procédure stockée afin d'encapsuler ces opérations dans un bloc de code réutilisable au sein de la base de données. Cela permet aux développeurs de réduire leur charge de travail.

Dans OceanBase Database, une procédure stockée regroupe des instructions SQL destinées à implémenter une fonctionnalité spécifique. Une fois compilée et enregistrée dans la base de données, vous pouvez appeler cette procédure en spécifiant son nom et les paramètres requis, ce qui accélère l'exécution des instructions SQL.

Une procédure stockée peut contenir des paramètres et renvoyer des valeurs.

Différences entre une procédure stockée et une fonction

  • La valeur de retour d'une fonction correspond à un résultat précis, tandis que celle d'une procédure stockée indique uniquement si l'exécution a réussi.

  • Appelez une fonction à l'aide d'une instruction SELECT. Pour appeler une procédure stockée, utilisez une instruction CALL.

Avantages des procédures stockées

  • Amélioration de la polyvalence et de la portabilité de l'application : une fois créée, une procédure stockée peut être appelée à plusieurs reprises par un programme sans avoir à réécrire les instructions SQL qu'elle contient. De plus, vous pouvez modifier la procédure sans impacter le code source du programme, ce qui améliore sa portabilité.

  • Accélération de l'exécution SQL : lorsqu'une opération implique un grand nombre d'instructions SQL ou l'exécution répétée des mêmes instructions, compilez le code dans une procédure stockée. L'exécution de cette procédure est plus rapide que l'exécution séparée des instructions.

  • Réduction de la charge serveur : si vous exécutez les opérations sur les objets de base de données via des instructions SQL individuelles, un volume important de données est transmis. Avec une procédure stockée équivalente, seule la commande d'appel de la procédure est envoyée, ce qui allège la charge réseau.

Overview

Comme illustré dans la figure précédente, la création d'une procédure stockée s'effectue en cinq étapes :

  1. Spécifiez le nom de la procédure stockée.

  2. Spécifiez les paramètres.

  3. Vérifiez les paramètres de la procédure stockée.

  4. Modifiez la procédure stockée.

  5. Finalisez la création de la procédure stockée.

L'exemple suivant présente la création d'une procédure stockée nommée proc_total dans la console ODC, destinée au calcul des budgets départementaux. Cette procédure comporte deux paramètres d'entrée de type INT, budget_r et budget_s, et calcule la somme de ces deux paramètres.

Remarque

Les données utilisées dans cette rubrique sont fournies à titre d'exemple. Remplacez-les par vos données réelles selon vos besoins.

Procédure

Étape 1 : Spécifiez le nom de la procédure stockée.

Connectez-vous à la console ODC et cliquez sur le nom de la connexion souhaitée pour accéder à la page de gestion de cette connexion. Dans le volet de navigation de gauche, cliquez sur Stored Procedure pour afficher la liste des procédures stockées. Pour créer une procédure, cliquez sur + dans l'angle supérieur droit de la liste Stored Procedure ou choisissez Create > Stored Procedure dans la barre de navigation supérieure.

Dans la boîte de dialogue Create Stored Procedure, saisissez un nom pour la procédure stockée.

1

Étape 2 : Spécifiez les paramètres.

  1. Les paramètres définissent les informations transmises à une fonction lors de son appel.

    • En mode Oracle, spécifiez les champs suivants : Name, Mode, Type et Default Value.

    • En mode MySQL, spécifiez Name, Mode, Type et Length.

  2. Spécifiez les paramètres en utilisant l'une des trois méthodes suivantes.

    Méthode

    Description

    Utiliser la barre d'accès rapide

    Dans la barre d'accès rapide, ajoutez, supprimez et déplacez les paramètres vers le haut ou vers le bas.

    Cliquer sur le numéro de ligne

    • Cliquez sur un numéro de ligne pour sélectionner la ligne et afficher la barre d'accès rapide, qui vous permet de supprimer la ligne ou de la déplacer vers le haut ou vers le bas.

    • Sélectionnez la ligne en cliquant sur son numéro, puis faites-la glisser pour ajuster son ordre.

    Clic droit

    • Copier une ligne ou déplacer une ligne vers le bas : sélectionnez une ligne, effectuez un clic droit, puis choisissez Copy ou Move Down dans le menu contextuel.

    • Copier une cellule : sélectionnez une cellule, effectuez un clic droit, puis choisissez Copy dans le menu contextuel.

    Remarque

    Après avoir copié une ligne, sélectionnez une ligne et collez les données copiées à l'aide des raccourcis clavier Command + V / Ctrl + V.

  3. Spécifiez le mode des paramètres.

    OceanBase Database, en modes MySQL et Oracle, prend en charge les modes de paramètre suivants : IN, OUT et INOUT.

    CREATE PROCEDURE proc_name ([[IN |OUT |INOUT ] parameter_name parameter_type...])
    • Paramètres

      Paramètre

      Type

      IN

      Indique un paramètre d'entrée.

      Lors de l'appel d'une procédure stockée, le paramètre d'entrée est transmis à la procédure et utilisé pendant son exécution. Généralement, les paramètres d'entrée servent uniquement à transmettre des valeurs et ne sont ni modifiés ni renvoyés lors de l'appel de la procédure.

      OUT

      Indique un paramètre de sortie.

      Lors de l'appel d'une procédure stockée, la valeur d'un paramètre de sortie est ignorée et une valeur vide est transmise à la procédure. La valeur du paramètre de sortie est modifiée pendant l'exécution de la procédure. À la fin de l'exécution, la valeur modifiée est assignée au paramètre de sortie. Les paramètres de sortie permettent généralement d'obtenir les résultats d'exécution d'une procédure stockée. Ils peuvent être utilisés pour modifier et renvoyer des valeurs lors de l'appel de la procédure.

      INOUT

      Indique un paramètre d'entrée/sortie.

      Un paramètre INOUT sert à la fois de paramètre d'entrée et de paramètre de sortie.

    • Paramètres de configuration

      Propriété

      Obligatoire

      Valeur par défaut

      Mode

      Name

      Oui

      Vide

      Oracle/MySQL

      Mode

      Oui

      IN

      Oracle/MySQL

      Type

      Oui

      VARCHAR

      Oracle/MySQL

      Length

      Oui

      45

      MySQL

      Default value

      Non

      Vide

      Oracle

Étape 3 : Vérifiez les paramètres de la procédure stockée.

Cliquez sur OK pour accéder à la page de création de la procédure stockée.

Étape 4 : Modifiez la procédure stockée.

4

Modifiez les instructions sur la page de création de la procédure stockée.

La barre d'outils de la page d'édition propose également les boutons suivants.

Bouton

Description

Format

Cliquez sur ce bouton pour appliquer une mise en forme (indentation, saut de ligne, mise en surbrillance des mots-clés) aux instructions SQL sélectionnées ou à toutes les instructions SQL de la fenêtre actuelle.

Find and Replace

Cliquez sur ce bouton, saisissez du texte dans le champ de recherche pour trouver le contenu souhaité, puis entrez du texte dans le champ de remplacement pour substituer le contenu trouvé.

Undo

Cliquez sur ce bouton pour annuler la dernière opération.

Redo

Cliquez sur ce bouton pour inverser une opération Undo.

Case Sensitivity

Le système propose trois options de capitalisation : All Caps, All Lowercase et Capitalize First Letter. Cliquez sur l'option souhaitée pour convertir les instructions sélectionnées dans le script au format de capitalisation correspondant.

Indent

Ajoutez des indentations aux instructions sélectionnées ou supprimez-en.

Comments

Cliquez sur Add Comments pour convertir les instructions sélectionnées en commentaires, ou sur Delete Comment pour reconvertir les commentaires en instructions SQL.

IN Value Conversion

Un format tel que A B peut être converti au format ('A','B').

Modifiez les instructions SQL de la procédure stockée créée sur la page de création. Syntaxe :

CREATE PROCEDURE proc_name (
  [proc_parameter[,...]])
IS
BEGIN
proc_body:
  Valid SQL routine statement
END [end_label]

Paramètres

Paramètre

Description

proc_name

Nom de la procédure stockée. Par défaut, la procédure est créée dans la base de données actuelle. Pour la créer dans une base de données spécifique, ajoutez le nom de la base de données en préfixe au nom de la procédure, selon le format db_name.sp_name.

Remarque

Le nom d'une procédure stockée doit différer de celui de toute fonction MySQL intégrée. Sinon, une erreur peut se produire.

[proc_parameter[,…] ]

Liste des paramètres de la procédure stockée. Un paramètre est spécifié selon le format `[IN

proc_body

Corps de la procédure stockée, contenant les instructions SQL à exécuter lors de l'appel de la procédure.

Le corps commence par BEGIN et se termine par END. Si le corps ne contient qu'une seule instruction SQL, vous pouvez omettre les indicateurs BEGIN et END.

Étape 5 : Finalisez la création de la procédure stockée.

Cliquez sur Create dans l'angle supérieur droit pour créer la procédure stockée. Une fois la procédure créée, appelez-la à l'aide de l'instruction CALL, comme vous le feriez pour une fonction intégrée.

5.1

Remarque

Pour gérer une procédure stockée, 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 les suivantes : View, Create, Edit, Run, Download, Delete et Refresh.

Pour plus d'informations, consultez la rubrique Gérer les procédures stockées.

Syntaxe :

CALL proc_name ([proc_parameter [,...]]);

Exemple :

CALL proc_total (30000, 20000);

5.2