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

जावा - डेटाबेस इंसर्ट और अपडेट को बैच कैसे करें

जावा आपको केवल जोड़ने की अनुमति नहीं देगा? रेडीस्टेटमेंट स्ट्रिंग पैरामीटर में, जैसा कि यह अपेक्षा करता है? प्लेस होल्डर के लिए केवल SQL देने के लिए पैरामीटर के लिए।

आपके मामले के लिए, आपके पास 2 तैयार कथन ऑब्जेक्ट हो सकते हैं, और लूप के माध्यम से, आप निर्णय ले सकते हैं कि किसे कॉल करना है। तो यह नीचे जैसा कुछ होगा:

PreparedStatement insertPstmt = connection.prepareStatement("INSERT INTO MY_TABLE VALUES(?,?,?,?)");
PreparedStatement updatePstmt = connection.prepareStatement("UPDATE MY_TABLE, SET MY_VAL=? WHERE MY_VAL IS NULL");

While (<condition>) {
  If (<insert condition>) {
    // use insert pstmt and add batch
  } else {
    // use update pstmt and add batch
  }
}

insertPstmt.executeBatch(); 
updatePstmt.executeBatch();

यदि आपके पास कोई सम्मिलित है, जिसकी अद्यतन पर निर्भरता है, तो आप तदनुसार बैच निष्पादित कर सकते हैं। यह सुनिश्चित करेगा कि अद्यतन सही ढंग से काम करेगा। मैं पहले सम्मिलित करने के बारे में सोचूंगा, क्योंकि वे अद्यतन पर निर्भर नहीं हो सकते हैं।



  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. MySQL निश्चित समस्याओं का निवारण कैसे करें

  3. घातक त्रुटि:बूलियन पर किसी सदस्य फ़ंक्शन bind_param () पर कॉल करें

  4. तंग करना? #1146 - तालिका 'xxx.xxxxx' मौजूद नहीं है

  5. अद्यतन के लिए v/s शेयर मोड में लॉक करें:समवर्ती थ्रेड्स को लॉक की गई पंक्ति के अद्यतन स्थिति मान को पढ़ने की अनुमति दें