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

Процедура или задача на Oracle за автоматично копиране на данни от една схема в друга въз основа на времевата линия

Опитайте да използвате MERGE , Можете да замените условието where, за да получите записите, които са по-стари от 360 дни въз основа на вашата логика. Условието ON трябва да бъде съвпадащите колони за свързване на двете таблици.

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

Предлагам също да използвате BULK COLLECT за вмъкване на записи, погледнете това

 CREATE OR REPLACE PROCEDURE ARCHIVE_DATA
AS
BEGIN
    MERGE
    INTO Schema2.table trg
    USING (
            SELECT
                column1
              , column2
              , column3
            FROM
                Schema1.table
            WHERE
                col_date >= 360
        )
        src
    ON
        (
            trg.column1 = src.column1
        )
    WHEN NOT MATCHED THEN
    INSERT
        (
            column1
          , column2
          , column3
        )
        VALUES
        (
            src.column1
          , src.column2
          , src.column3
        )
    ;

    COMMIT;
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PL/SQL:Пример за динамичен SQL с използване на Execute Immediate

  2. Oracle Pipelined функция

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

  4. Намерете изтичане на връзка в приложението Java

  5. Как да клонирате среда R12.2