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

मैं Oracle में एक तैयार स्टेटमेंट के लिए एक ArrayList को कैसे बाँधूँ?

आप तैयार किए गए कथन में किसी सूची को किसी एकल पैरामीटर से बाइंड नहीं कर सकते हैं।

सूची में प्रत्येक तत्व के लिए पैरामीटर मार्कर के साथ SQL उत्पन्न करें, उदाहरण के लिए:

SELECT NAME FROM ITEM WHERE ID IN (?, ?, ?, ?)

भले ही आप प्रत्येक क्वेरी के लिए एक नया स्टेटमेंट जेनरेट करेंगे, फिर भी मैं PreparedStatement का उपयोग करने की सलाह दूंगा . अगर आपकी सूची में String है उदाहरण के लिए, आपको SQL इंजेक्शन से बचाने के लिए आवश्यक एस्केपिंग मिल जाएगी।

लेकिन भले ही यह एक सुरक्षित प्रकार हो, जैसे Integer ऑब्जेक्ट्स, कुछ ड्राइवर या मिडलवेयर कैश कर सकते हैं PreparedStatements , और यदि उसी फॉर्म का अनुरोध किया जाता है तो कैश्ड इंस्टेंस लौटाएं। बेशक, कुछ परीक्षण आवश्यक होंगे। यदि आपकी सूचियां आकार में व्यापक रूप से भिन्न हैं, तो आपके पास कई अलग-अलग कथन होंगे, और खराब तरीके से कार्यान्वित कैश इतने सारे को संभालने के लिए तैयार नहीं हो सकता है।



  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. सी # - ओरेकल लंबे कच्चे प्रकार का मूल्य कैसे प्राप्त करें?

  3. जॉइन इश्यू:हल करने के लिए SQL स्टेटमेंट को ठीक करें:ORA-01799:एक कॉलम सबक्वेरी से बाहरी-जुड़ा नहीं हो सकता है

  4. कॉलम में मानों के परिवर्तन की गणना के लिए SQL क्वेरी

  5. SQLPlus दो बार पैकेज छोड़ने का प्रयास कर रहा है