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

बाइंड वैरिएबल का उपयोग करके गतिशील रूप से टेबल और कॉलम नाम पास करना

तालिका और स्तंभ नामों को बाइंड चर के रूप में पारित नहीं किया जा सकता है, नहीं। बाइंड वेरिएबल्स का पूरा बिंदु यह है कि ओरेकल स्टेटमेंट के लिए एक बार क्वेरी प्लान तैयार कर सकता है और फिर इसे अलग-अलग बाइंड वेरिएबल वैल्यू के साथ कई बार निष्पादित कर सकता है। अगर ऑप्टिमाइज़र को पता नहीं है कि कौन सी टेबल एक्सेस की जा रही है या कौन से कॉलम चुने और फ़िल्टर किए जा रहे हैं, तो यह क्वेरी प्लान जेनरेट नहीं कर सकता है।

यदि आपकी चिंता SQL इंजेक्शन हमलों से संबंधित है, और यह मानते हुए कि डायनेमिक SQL वास्तव में आवश्यक है (अधिकांश समय, डायनेमिक SQL का सहारा लेने की आवश्यकता डेटा मॉडल के साथ समस्याओं का अर्थ है), तो आप DBMS_ASSERT का उपयोग कर सकते हैं। पैकेज यह सत्यापित करने के लिए कि तालिका नाम और स्तंभ नामों में एम्बेडेड SQL नहीं है।



  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 में दिन के नाम पर राइट पैडिंग कैसे निकालें?

  2. पुनरावर्ती सबक्वेरी फैक्टरिंग के साथ साइकिल का पता लगाना

  3. SQL में ग्रुप बाय / एग्रीगेट फंक्शन कन्फ्यूजन

  4. लूप रिवर्स उदाहरण के लिए Oracle

  5. कोई और एसपीयू