sql >> Databasteknik >  >> RDS >> Oracle

Oracle sql merge för att infoga och ta bort men inte uppdatera

Nej, du kan inte ta bort rader som inte har uppdaterats av sammanfogningskommandot.
Här är dokumentationen:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm

Det betyder att rader måste uppdateras. Du behöver dock inte uppdatera alla rader, efter UPDATE använder du samma WHERE-sats som du använder efter DELETE

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


  1. MySQL Workbench:hur visar man varningar?

  2. Räknar antalet sammanfogade rader i vänster sammanfogning

  3. Postgres-frågeoptimering (tvingar fram en indexskanning)

  4. Skapa ett enkelt användargränssnitt för att komma åt en Oracle-databas