Maison > Article > base de données > Oracle SQL exécute une procédure stockée
Dans la base de données Oracle, une procédure stockée est un ensemble prédéfini d'instructions SQL qui peuvent être exécutées en cas de besoin. Contrairement aux instructions SQL écrites à tout moment, les procédures stockées sont plus efficaces, peuvent réduire le trafic réseau lors de l'accès aux données et améliorer les performances du système.
Dans les applications réelles, nous pouvons avoir besoin d'effectuer des opérations de base de données complexes, qui peuvent être réalisées en appelant des procédures stockées. La base de données Oracle fournit une syntaxe simple et claire pour créer des procédures stockées. Les utilisateurs peuvent personnaliser des informations telles que les paramètres et les valeurs de retour en fonction des besoins, et peuvent également configurer des instructions de contrôle de processus, la gestion des exceptions, le traitement des transactions et d'autres fonctions.
Cet article utilisera un exemple simple pour présenter comment exécuter des procédures stockées dans la base de données Oracle.
Dans la base de données Oracle, la création de procédures stockées nécessite l'utilisation du langage PL/SQL, qui est l'outil spécial d'Oracle pour les procédures stockées procédures, un langage écrit dans des processus tels que des déclencheurs et des fonctions. Voici une syntaxe de base pour créer une procédure stockée :
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [, ...])] IS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [procedure_name];
Description :
Ce qui suit est un exemple simple pour créer une procédure stockée pour interroger les informations d'un numéro d'employé spécifié :
CREATE OR REPLACE PROCEDURE get_employee_info (p_empno IN NUMBER) IS v_ename employees.ename%TYPE; v_job employees.job%TYPE; v_salary employees.sal%TYPE; BEGIN SELECT ename, job, sal INTO v_ename, v_job, v_salary FROM employees WHERE empno = p_empno; DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_ename); DBMS_OUTPUT.PUT_LINE('Job: ' || v_job); DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('Employee not found'); END;
EXEC procedure_name (parameter_value);Par exemple, pour exécuter la procédure stockée créée ci-dessus, vous pouvez utiliser la commande suivante : # 🎜🎜#
EXEC get_employee_info (100);
2.3 Utiliser l'exécution de programmes Java
Lorsque la logique métier de la base de données est relativement complexe, nous pouvons appeler des procédures stockées via des programmes Java pour implémenter une logique métier plus avancée. Ce qui suit est un simple programme Java pour appeler la procédure stockée créée ci-dessus :
import java.sql.*; public class ExecuteProcedure { public static void main(String[] args) { String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "username"; String password = "password"; try { Connection conn = DriverManager.getConnection(url, user, password); CallableStatement cst = conn.prepareCall("{call get_employee_info(?)}"); cst.setInt(1, 100); cst.execute(); conn.close(); } catch(SQLException e) { System.out.println(e.getMessage()); } } }
Le programme se connecte d'abord à la base de données, puis utilise la classe CallableStatement de Java pour appeler la procédure stockée. Avant d'appeler la procédure stockée, vous devez définir les valeurs des paramètres. Lors de l'exécution de la procédure stockée, le programme affichera des informations pertinentes sur le numéro d'employé 100.
Résumé
Ce qui précède est l'introduction de base à l'exécution de procédures stockées dans une base de données Oracle. Les procédures stockées sont un outil puissant et efficace qui peut favoriser l'optimisation des performances des bases de données et améliorer dans une certaine mesure l'efficacité du développement. Dans le même temps, cela nécessite également que les utilisateurs maîtrisent le langage PL/SQL afin de mieux utiliser les procédures stockées pour le traitement des données.
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!