Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

समयरेखा के आधार पर स्वचालित रूप से डेटा को एक स्कीमा से दूसरे में कॉपी करने के लिए Oracle प्रक्रिया या कार्य

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;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट का saveOrUpdate नॉट-नल कॉलम प्रॉपर्टी पर ध्यान नहीं देता

  2. रेगुलर एक्सप्रेशन में ऑपरेटर वरीयता

  3. V$sql से प्राप्त Oracle क्वेरी में पैरामीटर कैसे खोजें?

  4. c3p0 को हाइबरनेट में पुराने डीबी कनेक्शन को ऑटो-रीफ्रेश करने के लिए कैसे कॉन्फ़िगर करें

  5. NULL रिकॉर्ड को छोड़कर आईडी द्वारा समूहित करें