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

Skopiuj rekordy z opcją insert select, a następnie zaktualizuj atrybuty w tym samym zestawie rekordów

Jeśli uruchomisz dwa wyciągi within a transaction , wszelkie niepowodzenia spowodują wycofanie zarówno wstawiania, jak i aktualizacji.

insert into tgt..
select * from src
where <condition>
  and row_status <> 'copied'; --ignoring records after they have been copied once?

update src
set row_status = 'copied'
where <same_where_condition_as_before>

commit;

Jeśli do tabeli źródłowej wstawiono nowe wiersze po ich odczytaniu, może być konieczne ponowne uruchomienie bloku ze zmienionym warunkiem where, jeśli to konieczne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcja SQL łącząca Oracle i MS SQL Server

  2. Instalacja PHP PDO na windows (xampp)

  3. Jak przypisać licznik na podstawie warunku

  4. Niewystarczające uprawnienia podczas tworzenia tabel w Oracle SQL Developer

  5. Obsługa wyjątków procedur zagnieżdżonych Pl/SQL