Trigger d'insertion dans une table parente
Salut,
J'aimerais de l'aide pour créer un trigger dans une pour qu'un enregistrement soit créé dans une table dont dépend la table dans laquelle j'insère et affecter le nouvel Id de la table parente comme Id de la table dans laquelle j'insère.
En gros, j'ai une table A qui n'a qu'un champ ID
Trois table en A1, A2, A3 dont la clef primaire est une clef étrangère vers A
Le trigger qui ajoute l'élément dans la séquence de A est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
create or replace trigger
TRG_SEQ_T_SEC_ENTITY
before insert on "T_SEC_ENTITY"
for each row begin
if inserting then
if :NEW."ID" is null then
select SEQ_T_SEC_ENTITY.nextval into :NEW."ID" from dual;
end if;
end if;
end; |
A1, A2 et A3 sont respectivement
T_SEQ_USER
T_SEQ_ROLE
T_SEQ_SALESTEAM
J'aimerais arriver à un truc du style
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
create or replace trigger
TRG_SEQ_T_SEQ_USER
before insert on "T_SEQ_USER"
for each row begin
if inserting then
-- DISABLE PARENT INSERT TRIGGER
-- NSN <= CREATE NEW SEQUENCE NUMBER
-- INSERT NEW ROW IN SEQ_T_SEC_ENTITY (NSN)
-- INSERT NEW ROW IN SEQ_T_SEC_ROLE (NSN)
-- RE ENABLE PARENT INSERT TRIGGER
end if;
end; |
Je sais pas si j'ai été très claire, il semble que ce soit un coup classique mais je n'ai pas bien compris l'exemple suivant de la page : http://docs.oracle.com/cd/A87860_01/...9/adg13trg.htm
Code:
1 2 3 4 5 6 7 8 9 10 11
|
CREATE OR REPLACE TRIGGER Dept_emplist_tr
INSTEAD OF INSERT ON NESTED TABLE Emplist OF Dept_view
REFERENCING NEW AS Employee
PARENT AS Department
FOR EACH ROW
BEGIN
-- The insert on the nested table is translated to an insert on the base table:
INSERT INTO Emp_tab VALUES (
:Employee.Empno, :Employee.Empname,:Employee.Salary, :Department.Deptno);
END; |
Quelqu'un pourrait-il m'aider ?
Mici