Utilisation de merge dans le carte d'un insert or update
Bonjour,
J'ai écris cette requete mais elle ne fait rien et je comprends pas pourquoi....
Code:
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.