Testa att använda MERGE
, Du kan ersätta where-villkoret för att få poster som är äldre än 360 dagar baserat på din logik. ON-villkoret ska vara de matchande sammanfogningskolumnerna i de två tabellerna.
Om koden är bra kanske du kan schemalägga att den körs varje vecka.
Jag föreslår också att du använder BULK COLLECT för att infoga poster, ta en titt på detta
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;
/