Les procédures et fonctions stockées d'Oracle sont deux objets de stockage couramment utilisés dans les bases de données. Il s'agit tous deux d'un ensemble d'instructions SQL précompilées et stockées dans la base de données, mais il existe certaines différences dans leur utilisation. Cet article approfondira les différences entre les procédures stockées et les fonctions Oracle et fournira des exemples de code spécifiques pour les illustrer.
1. La définition et la différence entre les procédures stockées et les fonctions
Procédures stockées :
Fonction :
2. Exemples spécifiques de procédures et de fonctions stockées
CREATE OR REPLACE PROCEDURE get_employee_info (employee_id IN NUMBER, emp_name OUT VARCHAR2) IS BEGIN SELECT last_name INTO emp_name FROM employees WHERE employee_id = employee_id; END; /
La procédure stockée ci-dessus est nommée get_employee_info, reçoit un identifiant d'employé comme paramètre d'entrée et renvoie le nom de l'employé comme paramètre de sortie.
Exécuter la procédure stockée :
DECLARE emp_name VARCHAR2(50); BEGIN get_employee_info(100, emp_name); DBMS_OUTPUT.PUT_LINE('Employee name is: ' || emp_name); END; /
CREATE OR REPLACE FUNCTION calculate_total_salary (employee_id IN NUMBER) RETURN NUMBER IS total_salary NUMBER; BEGIN SELECT sum(salary) INTO total_salary FROM salaries WHERE emp_id = employee_id; RETURN total_salary; END; /
La fonction ci-dessus est nommée calculate_total_salary, reçoit un identifiant d'employé comme paramètre d'entrée, calcule et renvoie le salaire total de l'employé.
Fonctions d'appel :
DECLARE emp_id NUMBER := 100; total_salary NUMBER; BEGIN total_salary := calculate_total_salary(emp_id); DBMS_OUTPUT.PUT_LINE('Total salary for employee ' || emp_id || ' is: ' || total_salary); END; /
3. Scénarios applicables pour les procédures et fonctions stockées
Conclusion :
Les procédures stockées et les fonctions jouent un rôle important dans la base de données Oracle, mais dans les applications réelles, les objets de stockage appropriés doivent être sélectionnés en fonction des besoins. Les procédures stockées sont adaptées à la gestion d'une logique métier complexe, tandis que les fonctions sont mieux adaptées au calcul et au renvoi d'une valeur unique. Maîtriser les différences entre les procédures stockées et les fonctions vous permettra de mieux effectuer la programmation et l'optimisation des bases de 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!