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

एकाधिक तालिकाओं से डेटा कैसे हटाएं?

यदि आपका अपने स्कीमा पर नियंत्रण है, तो मैं स्कीमा को कैस्केडिंग का उपयोग करने के लिए उपयोग करुंगा। हटाता है

लेख से (आपके उदाहरण के लिए अनुवादित अधिक प्रासंगिक भाग)

CREATE TABLE point
(
    pt_id integer PRIMARY KEY,
    evt_id integer REFERENCES event ON DELETE CASCADE
)

यदि आपके पास कैस्केड सेट हैं, तो आप केवल मुख्य ईवेंट तालिका से हटा सकते हैं और अन्य सभी तालिकाएं स्वचालित रूप से साफ़ हो जाएंगी

अन्यथा, आपको पहले सभी संदर्भों को हटाना होगा, फिर आप मुख्य तालिका को हटा देंगे। डेटा को लगातार बनाए रखने के लिए आपको इसे एक लेन-देन में करना चाहिए

BEGIN;
DELETE FROM trace WHERE EXISTS 
    (SELECT 1 FROM point WHERE evt_id = 1139 AND trace.pt_id = point.pt_id);
DELETE FROM point where evt_id = 1139;
DELETE FROM magnitude where evt_id = 1139;
DELETE FROM event where evt_id = 1139;
COMMIT;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बड़ी मात्रा में डेटा के लिए PostgreSQL को स्केल करना

  2. PostgreSQL - उन पंक्तियों के लिए गिनती (*) चुनें जहां एक शर्त है

  3. PostgreSQL में पुनरावर्ती ट्रिगर रोकें

  4. PostgreSQL की चुनिंदा क्वेरी में तालिका के नाम पर दोहरा उद्धरण

  5. हरोकू से जुड़ने में त्रुटि नोडज में डीबी पोस्ट करती है