Zkuste použít MERGE
, Můžete nahradit podmínku where a získat záznamy, které jsou starší než 360 dní na základě vaší logiky. Podmínka ON by měla být odpovídající spojení sloupců dvou tabulek.
Pokud je kód v pořádku, možná můžete naplánovat spouštění každý týden.
K vkládání záznamů také doporučuji používat BULK COLLECT, podívejte se na toto
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;
/