Database Reference
In-Depth Information
Tableau 4-32 : Déclencheur INSTEAD OF pour l'insertion d'une vue multitable
Code du d é clencheur
Commentaire
Création.du.déclencheur.et.description.de.
l'événement.déclencheur.
CREATE TRIGGER trg_insert_v_dept_emps
INSTEAD OF INSERT ON v_dept_emps
FOR EACH ROW
DECLARE
nb_dept NUMBER(1);
v_salaire NUMBER(8,2);
BEGIN
Test.de.l'existence.du.département.
SELECT COUNT(*) INTO nb_dept
FROM hr.departments WHERE department_id = :NEW.ndept;
IF (nb_dept = 0) THEN
Insertion.du.nouveau.département.
INSERT INTO hr.departments
(department_id,department_name,
manager_id,location_id)
VALUES (:NEW.ndept,:NEW.departement,NULL,NULL);
END IF;
Recherche.du.salaire.moyen.
SELECT (max_salary-min_salary)/2 INTO v_salaire
FROM hr.jobs WHERE job_id = :NEW.id_emploi;
Insertion.du.nouvel.employé.
INSERT INTO hr.employees
(employee_id, irst_name, last_name, email,
hire_date, job_id,
salary, commission_pct, manager_id, department_id)
VALUES (:NEW.id_emp,:NEW.prenom,:NEW.nom,:NEW.mail,
:NEW.date_embauche,:NEW.id_emploi,v_salaire,
NULL,NULL,:NEW.ndept);
END;
Le scénario suivant décrit deux insertions dans la vue et la vériication des données dans les
tables au inal.
 
Search WWH ::




Custom Search