Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dynamiczne usuwanie w 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
                       )
                   )
         )

lub

  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 upewnij się, że nie masz select null,null,null,null from dual wśród Twoich rekordów UNION ALL lub nic nie zostanie usunięte



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00054:zasób zajęty i pozyskiwanie za pomocą NOWIT określone

  2. Oracle wybierz najnowszy rekord daty

  3. Grupuj SQL według daty (godziny)

  4. Jak korzystać z wirtualnego indeksu w bazie danych Oracle

  5. Wyrażenie regularne dotyczące dat w Oracle