Avec l'augmentation des besoins des entreprises et la complexité des systèmes, les procédures de stockage de bases de données reçoivent de plus en plus d'attention. En tant que base de données relationnelle à grande échelle, les procédures stockées d'Oracle jouent un rôle de plus en plus important lors du traitement d'énormes quantités de données. Alors, comment écrire des procédures stockées dans Oracle ?
1. Qu'est-ce qu'une procédure stockée ?
Une procédure stockée est un ensemble d'instructions SQL stockées et exécutées dans la base de données. Certaines tâches spécifiques peuvent être effectuées en exécutant la procédure stockée. Cela présente les avantages suivants :
2. Le format de syntaxe des procédures stockées
Dans Oracle, l'écriture de procédures stockées doit suivre un certain format de syntaxe. La syntaxe de base est la suivante :
CREATE OR REPLACE PROCEDURE nom de la procédure stockée
(paramètre 1, paramètre 2,..., paramètre n)
IS
变量1 数据类型; 变量2 数据类型; ……
BEGIN
存储过程体; EXCEPTION 异常处理语句;
END nom de la procédure stockée ;
liste des paramètres et La partie déclaration de variable peut être omise, le corps de la procédure stockée et les parties de l'instruction de gestion des exceptions sont obligatoires.
3. Exemple de procédure stockée
Jetons maintenant un coup d'œil à une procédure stockée simple, qui est utilisée pour interroger les informations spécifiées sur les employés en fonction des paramètres entrants.
CRÉER OU REMPLACER LA PROCÉDURE find_employee
(
p_employee_id IN NUMBER,
p_emp_name IN VARCHAR2,
p_emp_salary OUT NUMBER,
p_emp_dept_id OUT NUM BER
)
IS
BEGIN
SELECT salary, dept_id INTO p_emp_salary, p_emp_dept_id FROM employee WHERE employee_id = p_employee_id AND employee_name = p_emp_name; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('查询出错' || SQLERRM);
END find_employee;
Dans cette procédure stockée, nous définissons Il existe 4 paramètres : p_employee_id et p_emp_name sont utilisés pour interroger les informations sur l'employé, p_emp_salary et p_emp_dept_id sont utilisés pour renvoyer le salaire et l'ID de service de l'employé. Si une exception se produit pendant la requête, nous utilisons DBMS_OUTPUT pour générer des informations sur l'exception.
4. Appel de procédures stockées
Nous pouvons appeler des procédures stockées des deux manières suivantes :
Dans SQL Developer, sélectionnez "SQL Worksheet" et entrez le code suivant :
DECLARE
emp_salary NUMBER;
emp_dept_id NUMBER;
BEGIN
find_employee(100,'Tom',emp_salary,emp_dept_id);
DBMS_OUTPUT.PUT_LINE('salary = ' || emp_salary || ', dept_id = ' | | emp_dept_id);
END ;
Dans les programmes Java, nous pouvons utiliser JDBC pour nous connecter à la base de données Oracle, puis appeler des procédures stockées. L'exemple de code est le suivant :
CallableStatement stmt = conn.prepareCall("{call find_employee(?,?,?,?)}");
stmt.setInt(1, 100);
stmt.setString(2, "Tom" );
stmt.registerOutParameter(3, java.sql.Types.NUMERIC);
stmt.registerOutParameter(4, java.sql.Types.NUMERIC);
stmt.execute();
int emp_salary = stmt. getInt(3 );
int emp_dept_id = stmt.getInt(4);
System.out.println("salary = " + emp_salary + ", dept_id = " + emp_dept_id);
Grâce au code ci-dessus, nous pouvons facilement appeler la procédure stockée, obtient les résultats de la requête et affiche les informations sur les résultats.
Résumé : Les procédures stockées constituent une partie très importante de la base de données Oracle. Elles peuvent améliorer l'efficacité du traitement des données et garantir la cohérence et la sécurité des données, apportant ainsi une grande commodité au traitement des données d'entreprise. Grâce à cet article, nous pouvons clairement comprendre la syntaxe de base des procédures stockées Oracle, et également maîtriser les exemples et les méthodes d'appel des procédures stocké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!