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 instructionCALL.
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.

Comme illustré dans la figure précédente, la création d'une procédure stockée s'effectue en cinq étapes :
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.
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.

Étape 2 : Spécifiez les paramètres.
-
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.
-
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.
RemarqueAprè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.
-
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.

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.

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);
