Bonjour,

J'ai écris cette requete mais elle ne fait rien et je comprends pas pourquoi....

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
MERGE INTO my_table D USING (SELECT * FROM my_table WHERE mon_id=2) S 
ON (D.my_table=S.my_table) 
WHEN NOT MATCHED THEN INSERT VALUES (2, 'mon libellé', sysdate)
WHEN MATCHED THEN UPDATE SET mon_lib='mon libellé', last_move=sysdate;

Sachant que ma table my_table est stucturée de la manière suivante :
mon_id : number
mon_lib : varchar2(1000)
last_move : date

avec une clé primiare sur mon_id

Quand dans ma table j'ai pas de ligne correspondant à mon_id=2, il devrait faire un insert mais il ne fait rien
Quand dans ma table j'ai une ligne correspondant à mon_id=2, il devrait faire un update mais il fait bien l'update.

Merci.