sql >> Database teknologi >  >> RDS >> Oracle

Kopiér poster med indsæt valg, og opdater derefter attributter i det samme sæt poster

Hvis du kører de to sætninger within a transaction , vil eventuelle fejl medføre, at både indsættelsen og opdateringen rulles tilbage.

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;

Hvis der er indsat nye rækker i kildetabellen, efter at de er blevet læst, skal du muligvis køre blokken igen, med en ændret tilstand, hvis det er relevant.



  1. Tilføj dage til nuværende dato fra MySQL med PHP

  2. Hvordan tilføjer jeg en reference til MySQL-stikket til .NET?

  3. CX_Oracle - importer data fra Oracle til Pandas dataramme

  4. Returnerer flere værdier i en funktion