Bonjour,
J'essaie pour la premiere fois de faire un MERGE.
- si je trouve l'id -> UPDATE
- si je ne le trouve pas -> INSERT

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
MERGE INTO SYNCHRO_DOSSIERS e
USING SYNCHRO_DOSSIERS h
ON (e.DOSSIER_ID = h.DOSSIER_ID AND h.DOSSIER_ID = 13095)
WHEN MATCHED THEN
    UPDATE SET TYPE_ETAT_SYNCHRO_ID = PACKAGE_CONSTANTES.C_TYPE_ETAT_SYNCHRO_WAITING
WHEN NOT MATCHED THEN
    INSERT (DOSSIER_ID, TYPE_ETAT_SYNCHRO_ID, SYNCHRO_DOSSIERS_COMMENT, SYNCHRO_DOSSIERS_DATE_DEM, SYNCHRO_DOSSIERS_DATE_DEB, SYNCHRO_DOSSIERS_DATE_FIN)
    VALUES (13095, PACKAGE_CONSTANTES.C_TYPE_ETAT_SYNCHRO_WAITING, NULL, SYSDATE, NULL,NULL);
Lorsque l'id existe, la mise à jour se fait sans problème.
Mais s'il n'existe pas, la ligne n'est pas insérée. (0 rows merged)

Avez vous une idée de se qui ne va pas dans ma requete?
Version: 9.2.0.7
Je vous remercie par avance!

Vincent