J'essaie de lancer une procédure portant sur un nouvel enregistrement, et j'essaie de récupérer la valeur du :new

Ce que j'ai essayé renvoie soit table en mutation soit données non trouvées.

Il existe un autre trigger BEFORE INSERT qui alimente le numéro id. Apparemment, mon code a du mal à le trouver.

Au secours ! Merci de m'aider, voici une partie du code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE OR REPLACE TRIGGER CM_T_TOT
AFTER UPDATE OR INSERT
ON AM_EMPLOYEE
FOR EACH ROW
DECLARE
enrnoempl NUMBER;
enrnosh NUMBER;
numempl NUMBER;
 
BEGIN
 
  IF INSERTING THEN
     --numempl:=:NEW.EMPLOYEE_ID;
      --ou
      --SELECT :new.EMPLOYEE_ID INTO NUMEMPL FROM AM_EMPLOYEE; 
      --DBMS_OUTPUT.PUT_LINE(numempl);
     -- procedure alimentant une table
      MAJDONNEES.CM_MAJEMP1(:NEW.EMPLOYEE_ID);
 
    SELECT CM_INT_EMPL.EMPLOYEE_ID, CM_INT_EMPL.VALIDATOR_ID, INTO enrnoempl, enrnosh FROM CM_INT_EMPL
    WHERE CM_INT_EMPL.EMPLOYEE_ID=:NEW.EMPLOYEE_ID;
 
    UPDATE AM_EMPLOYEE
    SET VALIDATOR_ID=enrnosh
    WHERE EMPLOYEE_ID =:NEW.EMPLOYEE_ID;