Oracle est un système de gestion de bases de données relationnelles bien connu, souvent utilisé dans le développement et la maintenance de grands systèmes au niveau de l'entreprise. Dans Oracle, les procédures stockées et les déclencheurs sont deux objets de base de données très importants. Cet article présentera leurs fonctions et comment les utiliser.
1. Procédure stockée
1. Fonction
Une procédure stockée est un ensemble d'instructions SQL compilées et enregistrées dans la base de données. Il peut être appelé comme une fonction, recevant des paramètres d'entrée et renvoyant un résultat. Les procédures stockées peuvent effectuer diverses opérations complexes, telles que l'interrogation de données, la modification de données, la sauvegarde de données, etc. Ils simplifient grandement le travail de programmation de bases de données.
2. Créer
Dans Oracle, la création d'une procédure stockée nécessite l'utilisation du langage PL/SQL, qui peut être créée et modifiée à l'aide d'outils tels que SQL Developer ou SQL*Plus. Voici un exemple simple de création d'une procédure stockée :
CREATE OR REPLACE PROCEDURE p_add (x IN NUMBER, y IN NUMBER, z OUT NUMBER) IS BEGIN z := x + y; END p_add;
Dans l'exemple ci-dessus, nous définissons une procédure stockée nommée p_add, qui a deux paramètres d'entrée x et y et un paramètre de sortie z. Dans le corps de la procédure stockée, nous ajoutons les paramètres d'entrée x et y et attribuons le résultat au paramètre de sortie z.
3. Appel
Après avoir créé la procédure stockée, nous pouvons y exécuter l'instruction SQL en l'appelant. Il existe deux manières d'appeler des procédures stockées en PL/SQL :
EXECUTE p_add(1,2,:OUT);
Dans l'exemple ci-dessus, nous avons appelé la procédure stockée nommée p_add, en passant les paramètres 1 et 2 et en utilisant la sortie du paramètre OUT résultat.
DECLARE a NUMBER; BEGIN p_add(1,2,a); DBMS_OUTPUT.PUT_LINE('The result is: ' || a); END;
Dans l'exemple ci-dessus, nous avons utilisé le bloc PL/SQL pour appeler la procédure stockée et afficher le résultat.
2. Déclencheurs
1. Fonction
Un déclencheur est un objet spécial associé à une table qui peut effectuer automatiquement certaines opérations lors de l'exécution d'opérations INSERT, UPDATE et DELETE sur la table. Les déclencheurs peuvent être utilisés pour des opérations telles que la vérification des données, la réplication des données et la sauvegarde des données.
2. Créer
Dans Oracle, la création d'un déclencheur nécessite l'utilisation du langage PL/SQL. Vous pouvez également utiliser des outils tels que SQL Developer ou SQL*Plus pour créer et modifier. Voici un exemple simple de création d'un déclencheur :
CREATE OR REPLACE TRIGGER trg_ins_emp BEFORE INSERT ON emp FOR EACH ROW BEGIN :NEW.create_time := SYSDATE; END trg_ins_emp;
Dans l'exemple ci-dessus, nous définissons un déclencheur nommé trg_ins_emp et attribuons l'heure actuelle au champ create_time avant que chaque nouvel enregistrement ne soit inséré dans la table emp.
Dans l'exemple ci-dessus, le mot-clé BEFORE signifie que le déclencheur sera déclenché avant l'insertion des données, et FOR EACH ROW signifie qu'il sera déclenché à chaque fois que l'instruction INSERT est exécutée.
3. Après avoir appelé
pour créer un déclencheur, nous n'avons pas besoin de l'appeler manuellement. Il nous suffit d'effectuer les opérations INSERT, UPDATE et DELETE sur la table concernée pour déclencher le déclencheur. Voici un exemple simple d'exécution d'une opération INSERT :
INSERT INTO emp (name, salary) VALUES ('Jack', 5000);
Dans l'exemple ci-dessus, nous insérons un enregistrement dans la table emp Puisque nous avons créé un déclencheur nommé trg_ins_emp, lors de l'insertion de l'enregistrement, le champ create_time attribuera automatiquement la valeur. à l'heure actuelle.
3. Résumé
Les procédures stockées et les déclencheurs sont deux objets très importants dans Oracle. Ils simplifient grandement le travail de programmation de base de données. Les procédures stockées peuvent encapsuler des opérations SQL complexes, améliorant considérablement la maintenabilité et la réutilisation du code. Les déclencheurs peuvent effectuer automatiquement certaines opérations pendant les opérations sur la table pour éviter un travail répétitif. J'espère que cet article pourra aider les lecteurs à mieux comprendre les procédures stockées et les déclencheurs de la base de données Oracle.
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!