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

Oracle-procedure eller job til automatisk at kopiere data fra et skema til et andet baseret på tidslinje

Prøv at bruge MERGE , Du kan erstatte where-betingelsen for at få de poster, der er ældre end 360 dage baseret på din logik. ON-betingelsen skal være de matchende joinkolonner i de to tabeller.

Hvis koden er fin, kan du måske planlægge at køre hver uge.

Jeg foreslår også, at du bruger BULK COLLECT til at indsætte poster. Tag et kig på dette

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. SQL-ydeevne søger efter lange strenge

  2. Forespørgsel for at finde dubletterne mellem navn og nummer i tabellen

  3. Tjek databasen, hvis den findes ved hjælp af Laravel

  4. OPDATERING NESTEDE SAG