Problème trigger débutant
Bonjour,
J'ai un petit problème sur le trigger "AFTER INSERT" suivant.
Code:
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 ?