Maison> base de données> Oracle> le corps du texte

Explication détaillée des procédures stockées et des déclencheurs d'Oracle

PHPz
Libérer: 2023-04-21 10:58:38
original
1062 Les gens l'ont consulté

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;
Copier après la connexion

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 :

  • Utilisez l'instruction EXECUTE :
EXECUTE p_add(1,2,:OUT);
Copier après la connexion

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.

  • Utilisation du bloc PL/SQL :
DECLARE a NUMBER; BEGIN p_add(1,2,a); DBMS_OUTPUT.PUT_LINE('The result is: ' || a); END;
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!