Bonjour,

J'ai un petit problème sur le trigger "AFTER INSERT" suivant.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CREATE OR REPLACE TRIGGER TRIG_INS_SAPRECRUITTRANS
AFTER INSERT ON SAPRECRUITMENTTRANSFER
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
	-- heure d'appel de la procedure
	begin_date_proc DATE;
	-- Variables utilis¿pour le reporting
	begin_time    NUMBER;
	-- variable utilis¿comme reference du record
	record_key    VARCHAR2(200);
	--tmpVar NUMBER;
	NONOK NUMBER(4);

BEGIN
	-- Demarre le Timer
	begin_time       := DBMS_UTILITY.GET_TIME;
	begin_date_proc  := SYSDATE;	
	-- defini la clé l'enregistrement en cours
	record_key := 'CANDIDAT ID :' || :NEW.candidat_id|| ' / REQUESTOR : ' || :OLD.requestor;
	--tmpVar := 0;
	
	NONOK := 0;	

	SELECT COUNT(*) INTO NONOK 
	FROM SAPRECRUITMENTTRANSFER	
	WHERE status <> 1 ;
	
	IF NONOK > 4 THEN
	   UPDATE SAPRECRUITMENTTRANSFER
	   SET status = '8'
	   WHERE candidat_id = :NEW.candidat_id;
	END IF;
	
	

  EXCEPTION
    WHEN OTHERS THEN
	    INSERT INTO SAPTRIGGERTRANSFER(TRIGGER_NAME, RECORD_KEY, ERROR_DATE, ERROR_TIME)
	    VALUES ('TRIG_INS_SAPRECRUITTRANS',record_key,begin_date_proc,begin_time);


END TRIG_INS_SAPRECRUITTRANS;
/
Le problème concerne les lignes en gras.
L'update ne s'exécute pas car la clause where ne semble pas fonctionner.
Et quand je regarde dans la table remplie par l'exception le record_key ne contient pas les données de la table.

Quelqu'un peut-il m'aider ?