Maison > Article > base de données > Comment appeler une procédure stockée Oracle
Une procédure stockée Oracle est un bloc précompilé de code PL/SQL qui contient un ensemble d'instructions SQL à exécuter. Les procédures stockées peuvent être utilisées pour traiter ou manipuler des données dans la base de données, ou pour implémenter une logique métier ou des fonctions d'application.
Dans la base de données Oracle, les appels de procédures stockées peuvent être implémentés des manières suivantes.
Utilisez les outils de ligne de commande SQL (tels que SQL*Plus) pour appeler des procédures stockées via l'instruction CALL. Le format syntaxique de l'instruction CALL est :
CALL 存储过程名(参数1, 参数2, ...);
Parmi eux, le nom de la procédure stockée fait référence au nom de la procédure stockée à appeler, et le paramètre 1, le paramètre 2, etc. sont les paramètres d'entrée requis par la procédure stockée. Si la procédure stockée n'a pas de paramètres d'entrée, la liste des paramètres peut être omise.
Par exemple, l'appel d'une procédure stockée nommée "my_proc" nécessite deux paramètres d'entrée, et son format de syntaxe est :
CALL my_proc('参数1值', '参数2值');
Vous pouvez également appeler des procédures stockées à l'aide de blocs PL/SQL. Les blocs PL/SQL sont un moyen d'écrire et d'exécuter du code PL/SQL, similaire aux fonctions ou sous-programmes d'autres langages de programmation. Au sein d'un bloc PL/SQL, vous pouvez utiliser les blocs BEGIN et END pour définir le code à exécuter, ainsi que les paramètres d'entrée et de sortie associés.
Par exemple, ce qui suit est un simple bloc PL/SQL pour appeler une procédure stockée nommée "my_proc" :
DECLARE 参数1 VARCHAR2(50) := '参数1值'; 参数2 VARCHAR2(50) := '参数2值'; BEGIN my_proc(参数1, 参数2); END;
Parmi eux, le mot-clé DECLARE est utilisé pour déclarer des variables, et le paramètre 1 et le paramètre 2 sont les noms de variables de les paramètres d'entrée, := sont utilisés pour attribuer des valeurs initiales aux variables, my_proc est le nom de la procédure stockée à appeler.
Dans les programmes Java, vous pouvez utiliser l'API JDBC pour appeler des procédures stockées Oracle. JDBC fournit une classe CallableStatement pour appeler des procédures stockées. Vous pouvez transmettre les paramètres de la procédure stockée à l'objet CallableStatement et l'appeler avec la procédure stockée pendant l'exécution.
Par exemple, voici un exemple de programme permettant d'appeler une procédure stockée et d'imprimer les résultats :
import java.sql.*; public class CallStoredProcedure { public static void main(String[] args) throws Exception { String driverName = "oracle.jdbc.driver.OracleDriver"; String connectionString = "jdbc:oracle:thin:@//localhost:1521/orcl"; String userName = "USERNAME"; String password = "PASSWORD"; String storedProcedure = "my_proc"; String param1 = "参数1值"; String param2 = "参数2值"; Class.forName(driverName); Connection con = DriverManager.getConnection(connectionString, userName, password); CallableStatement cst = con.prepareCall("{call " + storedProcedure + "(?,?)}"); cst.setString(1, param1); cst.setString(2, param2); cst.execute(); ResultSet rs = cst.getResultSet(); while (rs.next()) { // 处理结果集 } cst.close(); con.close(); } }
Parmi eux, driverName et connectionString sont les chaînes de pilote et de connexion requises lorsque JDBC se connecte à la base de données Oracle, et userName et password sont nom et mot de passe de connexion à la base de données. storeProcedure est le nom de la procédure stockée à appeler, et param1 et param2 sont les valeurs des paramètres d'entrée.
En bref, les procédures stockées Oracle peuvent être appelées de différentes manières, notamment par des outils de ligne de commande SQL, des blocs PL/SQL et des programmes Java. Dans les applications pratiques, nous pouvons choisir la manière appropriée d'appeler des procédures stockées en fonction de besoins et d'environnements spécifiques pour mieux accomplir les tâches de traitement des données et de mise en œuvre logique.
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!