MERGE
を使用してみてください 、 where 条件を置き換えて、ロジックに基づいて 360 日より古いレコードを取得できます。 ON 条件は、2 つのテーブルの一致する結合列である必要があります。
コードに問題がなければ、毎週実行するようにスケジュールできます。
また、レコードを挿入するために BULK COLLECT を使用することをお勧めします。 merge-vs-bulk-collect/">これ
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; /
プレ>