Maison >base de données >Oracle >débogage de procédure stockée Oracle
La procédure stockée Oracle est un programme exécutable écrit et stocké dans la base de données, qui peut accepter les paramètres d'entrée et renvoyer des résultats. Dans les traitements métier complexes, les procédures stockées sont généralement utilisées pour contrôler les processus métier, optimiser les performances, réduire les coûts de maintenance et améliorer la sécurité des données.
Lors de l'écriture de procédures stockées, vous rencontrerez inévitablement des erreurs et des exceptions, telles qu'une incompatibilité de types de données, des erreurs d'instructions SQL, des références de pointeurs nuls, etc. À l'heure actuelle, vous devez utiliser les outils de débogage fournis par Oracle pour diagnostiquer et résoudre ces problèmes.
Cet article présentera la méthode de débogage des procédures stockées dans Oracle pour aider les lecteurs à développer et à maintenir plus efficacement les procédures stockées.
1. Préparation au débogage
Avant de déboguer la procédure stockée, les préparations suivantes doivent être effectuées :
Tout d'abord, vous devez créer la procédure stockée dans la base de données Oracle. Vous pouvez utiliser des outils tels que SQL Developer pour créer de nouveaux modules de code dans la base de données et écrire du code pour les procédures stockées.
Par exemple, voici un exemple simple de procédure stockée :
CREATE OR REPLACE PROCEDURE my_proc (p_num1 IN NUMBER, p_num2 IN NUMBER, p_result OUT NUMBER)
AS
BEGIN
p_result := p_num1 + p_num2;
END;
Cette procédure stockée accepte deux paramètres d'entrée, les ajoute et transmet le résultat au paramètre de sortie p_result.
Pour déboguer les procédures stockées, vous devez définir les informations de débogage Oracle PL/SQL. Il peut être défini en ajoutant les instructions suivantes au début du code de la procédure stockée :
SET SERVEROUTPUT ON;
ALTER SESSION SET PLSQL_DEBUG=TRUE;
La fonction des deux instructions ci-dessus est d'activer l'affichage des informations de sortie et activer la fonction de débogage PL/SQL. Ils peuvent nous aider à obtenir des informations plus utiles lors de l'exécution de la procédure stockée, afin de mieux diagnostiquer le problème.
Lors du débogage d'une procédure stockée, vous devez préparer un ensemble de données de test pour tester et déboguer lors de l'exécution de la procédure stockée. Les données de test doivent couvrir toutes les situations possibles d'exécution de la procédure stockée, y compris les situations normales, les situations anormales, etc.
2. Utilisez les outils de débogage
Après avoir terminé les préparatifs de débogage ci-dessus, vous pouvez commencer à utiliser les outils de débogage fournis par Oracle pour déboguer le processus stocké.
SQL Developer est un environnement de développement intégré (IDE) fourni par Oracle, qui peut aider les développeurs à écrire, déboguer et gérer le code et les objets liés à la base de données Oracle. Voici comment déboguer les procédures stockées dans SQL Developer :
(1) Ouvrez la procédure stockée dans SQL Developer
Tout d'abord, vous devez ouvrir la procédure stockée dans SQL Developer. Recherchez le package ou le module où se trouve la procédure stockée dans l'Explorateur d'objets sur la gauche et double-cliquez pour l'ouvrir.
(2) Définir le point d'arrêt
Dans le code de la procédure stockée, utilisez le bouton gauche de la souris pour cliquer sur le numéro de ligne où vous souhaitez définir le point d'arrêt, et un indicateur apparaîtra. Vous pouvez cliquer sur cet indicateur pour définir ou annuler des points d'arrêt.
(3) Exécuter le débogage
Après avoir défini le point d'arrêt, cliquez sur l'icône de débogage (petit bug) dans le coin supérieur gauche pour entrer en mode débogage. En mode débogage, vous pouvez parcourir le code, afficher les valeurs des variables, etc. Pendant le processus de débogage, les informations sur le processus d'exécution seront affichées dans la fenêtre de débogage à droite.
(4) Vérifiez les informations de sortie
Lors de l'exécution de la procédure stockée, activez les informations de sortie via l'instruction SET SERVEROUTPUT ON. Dans la fenêtre de débogage, vous pouvez afficher le résultat de la procédure stockée.
En plus de SQL Developer, Oracle fournit également un débogueur PL/SQL autonome qui peut s'exécuter directement dans l'instance de base de données. Vous pouvez utiliser le débogueur PL/SQL en suivant les étapes ci-dessous :
(1) Démarrez le débogage
Dans SQL Plus ou une autre interface SQL, exécutez la commande suivante pour démarrer le débogueur PL/SQL :
EXECUTE DBMS_DEBUG_JDWP.CONNECT_TCP( 'localhost', 4000);
Après l'exécution, le débogueur sera démarré et attendra la connexion avec le client.
(2) Démarrez le client de débogage
Dans l'environnement de développement Java, créez une application Java et utilisez JDI (Java Debug Interface) pour vous connecter au débogueur. Vous devez utiliser la fonction "JPDA (Java Platform Debugger Architecture)" de la machine virtuelle Java.
Par exemple, dans Eclipse, vous pouvez créer une configuration de débogage Java et définir les paramètres d'hôte et de port pour connecter le débogueur :
(3) Processus de débogage
Une fois le client de débogage connecté avec succès, vous pouvez commencer à déboguer le fichier stocké. procédure. Pendant le débogage, vous pouvez parcourir le code, afficher les valeurs des variables, etc.
3. Compétences courantes en débogage
Lors de l'utilisation de SQL Developer ou du débogueur PL/SQL pour déboguer des procédures stockées, les conseils suivants peuvent aider les développeurs à diagnostiquer les problèmes plus efficacement :
Pendant le débogage Pendant le processus, vous pouvez utiliser le débogage en une seule étape pour exécuter le code ligne par ligne et afficher l'effet d'exécution de chaque ligne de code. Cliquez sur "Step Over" dans la barre d'outils pour exécuter la ligne actuelle et passer à la ligne suivante.
Pendant le processus de débogage, vous pouvez afficher les valeurs des variables pour nous aider à comprendre plus en profondeur le processus d'exécution du code. Dans SQL Developer, vous pouvez afficher les valeurs de toutes les variables actuelles dans la fenêtre « Variables » ; dans le débogueur PL/SQL, vous pouvez utiliser la commande « Afficher » pour afficher les valeurs des variables.
Lors de l'exécution d'une procédure stockée, des exceptions peuvent survenir. L'utilisation d'outils de débogage peut nous aider à localiser rapidement le problème et à le résoudre. De manière générale, le bloc de code try-catch peut être utilisé pour intercepter les exceptions et enregistrer les informations sur les exceptions afin de faciliter notre débogage et notre traitement.
Pendant le débogage, certaines lignes de code ou points d'arrêt peuvent ne pas être débogués (comme les blocs de code de gestion des exceptions). Pour ces codes, vous pouvez utiliser la commande « Sauter tous les points d'arrêt » ou « Passer au point d'arrêt suivant » pour les ignorer.
En bref, l'utilisation des outils de débogage fournis par Oracle peut nous aider à mieux diagnostiquer les problèmes dans les procédures stockées et à améliorer l'efficacité du développement. Lors du débogage des procédures stockées, il est recommandé de préparer le débogage à l'avance, de maîtriser les compétences de débogage courantes et de prêter attention aux détails, afin d'améliorer efficacement l'efficacité du développement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!