Database Reference
In-Depth Information
Pour.toute.mise.à.jour.qu'il.n'est.pas.possible.d'écrire.directement,.vous.devrez.programmer.
un.déclencheur. INSTEAD OF .qui.se.chargera.de.propager.les.nouvelles.valeurs.des.colonnes.
modifiées.de.manière.cohérente.à.travers.les.tables.sources.
Programmer des méthodes
L'avantage de disposer de types est de pouvoir déclarer et implémenter des méthodes ain
d'encapsuler tout traitement ou instruction complexe.
Tableau 4-26 : Programmation de méthodes
Code SQL
Commentaire
Déclaration.de.deux.nouvelles.méthodes :.une.
fonction.qui.comptera.le.nombre.d'employés.d'un.
département.et.une.procédure.qui.ajoute.un.employé.
à.un.département.
ALTER TYPE departement_t
ADD MEMBER FUNCTION nbre_emp RETURN NUMBER;
ALTER TYPE departement_t
ADD MEMBER PROCEDURE
ajoute_emp(id IN NUMBER, pr IN VARCHAR,
no IN VARCHAR, da IN DATE);
CREATE OR REPLACE TYPE BODY departement_t AS
MEMBER FUNCTION nbre_emp RETURN NUMBER IS
total NUMBER := 0;
BEGIN
SELECT COUNT(id_emp) INTO total
FROM TABLE
(SELECT emps_nt FROM v_obj_dept_emps
WHERE n_dept=SELF.n_dept);
RETURN total;
END nbre_emp;
MEMBER PROCEDURE ajoute_emp(id IN NUMBER,
pr IN VARCHAR, no IN VARCHAR, da IN DATE)
IS
BEGIN
INSERT INTO hr.employees
(employee_id,irst_name,last_name,email,
phone_number, hire_date,job_id,salary,
commission_pct,manager_id,department_id)
VALUES (id,pr,no,'mail',NULL,da,'IT_PROG',
NULL,NULL,NULL,SELF.n_dept);
COMMIT;
END ajoute_emp;
END;
Codage.des.deux.méthodes..Le.mot-clé. SELF .
désigne.l'objet.qui.appelle.la.méthode.
 
Search WWH ::




Custom Search