Bonjour,

Je rencontre un probleme lors de l'execution d'un trigger.

J'obtiens toujours ce message d'erreur :

Error starting at line 1 in command:
INSERT INTO TRANSPLAN.ESSAI_HIST(NOM, CLE) VALUES ('vghj',88888)
Error report:
SQL Error: ORA-01722: Nombre non valide
ORA-06512: à "TRANSPLAN.TRIG_ESSAI", ligne 2
ORA-04088: erreur lors d'exécution du déclencheur 'TRANSPLAN.TRIG_ESSAI'


Voici le code du trigger :

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
CREATE OR REPLACE
TRIGGER TRIG_ESSAI BEFORE INSERT ON ESSAI_HIST 
FOR EACH ROW 
BEGIN
MERGE into TRANSPLAN.ESSAI v
using ( select :new.CLE CLE from dual ) t1
on ( t1.CLE = v.CLE)
when matched
then update set
NOM = :new.NOM
when not matched
then insert values (
:new.CLE,
:new.NOM
);
end;
Et voici les deux tables en questions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE "TRANSPLAN"."ESSAI" 
   (    "CLE" NUMBER(15,0) NOT NULL ENABLE, 
    "NOM" VARCHAR2(10 BYTE), 
     CONSTRAINT "ESSAI_PK" PRIMARY KEY ("CLE") ENABLE
   ) ;
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CREATE TABLE "TRANSPLAN"."ESSAI_HIST" 
   (    "CLE" NUMBER(15,0) NOT NULL ENABLE, 
    "NOM" VARCHAR2(10 BYTE)
   ) ;
Sur internet j'ai rien trouvé. Je suis un peu désespéré.

Merci de votre aide.