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 :
A1, A2 et A3 sont respectivement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
T_SEQ_USER
T_SEQ_ROLE
T_SEQ_SALESTEAM
J'aimerais arriver à un truc du style
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Quelqu'un pourrait-il m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Mici
Partager