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

Dynamické mazání v Oracle

  delete departments

  where  department_id in
         (
            select department_id

            from  (    select  department_id, department_name, manager_id,location_id 
                       from    departments

                       minus

                       (          select 66,'Administration',200,1700 from dual
                       union all  select 77,'Marketing'     ,201,1800 from dual
                       )
                   )
         )

nebo

  delete departments

  where  (department_id, department_name, manager_id,location_id) not in
         (          select 66,'Administration',200,1700 from dual
         union all  select 77,'Marketing'     ,201,1800 from dual
         )

Ale ujistěte se, že nemáte select null,null,null,null from dual mezi vašimi UNION nebudou smazány VŠECHNY záznamy nebo nic



  1. Oracle current_timestamp převod na sekundy

  2. Záludný příkaz SQL přes 3 tabulky

  3. Jak získat součet času z databáze v PHP?

  4. Jak zjistíme název domény pomocí MySQL a regulárního výrazu