MERGE
using का उपयोग करके देखें , आप अपने तर्क के आधार पर 360 दिनों से अधिक पुराने रिकॉर्ड प्राप्त करने के लिए जहां स्थिति को बदल सकते हैं। ON कंडीशन दो टेबल के मैचिंग जॉइन कॉलम होने चाहिए।
अगर कोड ठीक है, तो शायद आप इसे हर हफ्ते चलाने के लिए शेड्यूल कर सकते हैं।
मैं रिकॉर्ड डालने के लिए बल्क कलेक्ट का उपयोग करने का भी सुझाव देता हूं, यह
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;
/