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

ऑरैकल क्लॉब में खाली स्ट्रिंग को कैसे अपडेट करें?

जैसा कि मैंने पहले ही आपके अन्य प्रश्न में उल्लेख किया है। :मेरे अनुभव में getClob() और setClob() ठीक से काम नहीं करते हैं।

setCharacterStream() का उपयोग करें इसके बजाय:

StringReader clob = new StringReader("");
pStmt = conn.prepareStatement("update activity set REFERENCE = ? WHERE ID = ?");
pStmt.setCharacterStream(1, clob, 0);
pStmt.setLong(2, 1);
pStmt.executeUpdate();

इस तरह आप अपडेट करने से पहले अनावश्यक SELECT को भी हटा सकते हैं, जिससे प्रदर्शन में भी सुधार होगा।

एक अन्य विकल्प बस उस कॉलम को NULL . पर सेट करना होगा

संपादित करें:

नए ड्राइवरों (11.x) के साथ आप setString() . का उपयोग करने का प्रयास भी कर सकते हैं और getString() CLOB कॉलम पर।

पंक्ति को लॉक करना केवल तभी आवश्यक होना चाहिए जब आप एक LOB लोकेटर का उपयोग करते हैं जिसे आप एक लेन-देन के दौरान रखना चाहते हैं जो एक से अधिक कथनों को फैलाता है (कम से कम यह मैनुअल के लिंक किए गए संदर्भ की मेरी समझ है)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle db से .Net ऐप में विशेष वर्णों का उपयोग/प्रदर्शित करने में समस्या

  2. रौनम पर स्पष्टीकरण

  3. सी # मनमाने ढंग से निर्दिष्ट ओरेकल दिनांक प्रारूप में तारीख की एक स्ट्रिंग को कैसे पार्स करें?

  4. क्या सरोगेट कुंजी, सिंथेटिक कुंजी और कृत्रिम कुंजी में अंतर है?

  5. किसी अन्य उपयोगकर्ता से तालिका से क्वेरी कॉलम नाम