Oracle
 sql >> база данни >  >> RDS >> Oracle

Копирайте записи с вмъкване на избор, след което актуализирайте атрибути в същия набор от записи

Ако изпълните двата извлечения within a transaction , всички неуспехи ще доведат до връщане назад както на вмъкването, така и на актуализацията.

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;

Ако има нови редове, вмъкнати в изходната таблица, след като са били прочетени, може да се наложи да изпълните блока отново, с променено условие, където е подходящо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PK е нарушен в oracle sql

  2. Как да получите информация за грешка при компилиране в Oracle/TOAD

  3. Има ли някакъв начин за използване на RSA в Oracle/PL SQL?

  4. SQL:Как да намеря дубликати въз основа на две полета?

  5. Oracle SQL:Как да покажа празни седмици / седмици без данни?