Probeer MERGE
. te gebruiken , U kunt de waar-voorwaarde vervangen om de records op te halen die ouder zijn dan 360 dagen op basis van uw logica. De ON-voorwaarde moet de overeenkomende join-kolommen van de twee tabellen zijn.
Als de code in orde is, kun je misschien plannen om elke week te draaien.
Ik raad ook aan om BULK COLLECT te gebruiken om records in te voegen, kijk eens op dit
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;
/