sql >> Databáze >  >> RDS >> Oracle

Oracle sql merge pro vložení a odstranění, ale ne aktualizaci

Ne, nelze odstranit řádky, které nebyly aktualizovány příkazem sloučení.
Zde je dokumentace:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm

To znamená, že řádky musí být aktualizován. Nemusíte však aktualizovat všechny řádky, po UPDATE použijte stejnou klauzuli WHERE jako po DELETE

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


  1. Proč spuštění tohoto dotazu s EXECUTE IMMEDIATE způsobí jeho selhání?

  2. Použití komplexního příkazu IF v Oracle SQL

  3. Oracle zkopíruje data do jiné tabulky

  4. SELECT * z SQL tabulky pomocí připraveného příkazu