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

लूप के दौरान नेस्टेड का उपयोग किए बिना इस कार्यक्रम को लागू करने का कोई अलग तरीका है?

चूंकि INSERT . में उपयोग किया गया सभी डेटा स्टेटमेंट आपके 'सेलेक्ट' स्टेटमेंट से आता है, आपके जावा ऐप और डेटाबेस के बीच अतिरिक्त राउंड-ट्रिप लेने का कोई मतलब नहीं है। एक SQL स्टेटमेंट में सब कुछ निष्पादित करने से आपको सर्वश्रेष्ठ प्रदर्शन मिलेगा।

आपका SQL स्टेटमेंट इस तरह होना चाहिए

INSERT INTO snomedinfo_data (refid,id,effectivetime,active,moduleid,conceptid,languagecode,typeid,term,caseSignificanceid)
SELECT d.refid, d.id, d.effectivetime, d.active, d.moduleid, d.conceptid, d.languagecode, d.typeid, d.term, d.caseSignificanceid
FROM snomed_descriptiondata d
JOIN snomed_conceptdata c ON c.id = d.conceptid AND c.active = 1 AND d.active = 1

और आपके जावा कोड को इसमें उबाला जा सकता है

try {
    oRoot = Root.createDbConnection(null);
    String sql = "INSERT INTO snomedinfo_data...";
    oPrStmt = oRoot.con.prepareStatement(sql);
    oPrStmt.executeUpdate();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पढ़ने के लिए कॉल करने से पहले फ़ील्ड तक पहुँचने का अमान्य प्रयास ()

  2. रेल का प्रबंधन कैसे करें database.yml

  3. प्रत्येक विशिष्ट उम्मीदवार_आईडी की सबसे हाल की तारीख वाली पंक्तियों से डेटा लौटाएं

  4. MySQL एक तालिका से सभी स्तंभों का चयन करें और कुछ अन्य तालिका से चुनें

  5. MySQL ट्रिगर नई पंक्ति के लिए मान सेट करता है और उसी तालिका में दूसरे को अपडेट करता है