Coba gunakan MERGE
, Anda dapat mengganti kondisi where untuk mendapatkan catatan yang lebih lama dari 360 hari berdasarkan logika Anda. Kondisi ON harus menjadi kolom gabungan yang cocok dari dua tabel.
Jika kodenya baik-baik saja, mungkin Anda dapat menjadwalkannya untuk dijalankan setiap minggu.
Saya juga menyarankan menggunakan BULK COLLECT untuk memasukkan catatan, lihat ini
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;
/