Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle sql merge pour insérer et supprimer mais pas mettre à jour

Non, vous ne pouvez pas supprimer les lignes qui n'ont pas été mises à jour par la commande merge.
Voici la documentation :http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm

Cela signifie que les lignes doivent être mis à jour. Cependant, vous n'avez pas besoin de mettre à jour toutes les lignes, après UPDATE, utilisez la même clause WHERE que vous utilisez après DELETE

when matched then update set dummy=dummy
    where a_value not in ('ace','afk')
delete 
    where a_value not in ('ace','afk')