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

ado.net DBParameter में मान के रूप में एक सरणी पास करें

SQL-सर्वर के लिए, इसके लिए दो सामान्य दृष्टिकोण हैं। तीसरा विकल्प इससे बचना चाहिए एक varchar . में पास करना है और इसे IN . के साथ एक गतिशील SQL कथन में संयोजित करें - यह एक स्पष्ट इंजेक्शन हमले की सतह है।

उचित विकल्प:

  • varchar . में पास करें और डेटा को एक सीमांकक पर विभाजित करने के लिए UDF का उपयोग करें (इस प्रश्न में पसंद करें ), शायद अल्पविराम, पाइप, टैब, आदि। परिणाम में शामिल हों:

    SELECT something, anotherthing
    FROM atable a
    INNER JOIN dbo.SplitUDF(@values) udf
            ON udf.Value = a.something
    
  • एक टेबल-वैल्यूड-पैरामीटर का उपयोग करें (एसक्यूएल2008) और सीधे जुड़ें (यूडीएफ से बचें)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BEGIN - END PL/SQL में परमाणु लेनदेन को रोकता है

  2. डेटाबेस परिवर्तन के विनफॉर्म एप्लिकेशन को सूचित करने के लिए DBMS_Alert का उपयोग करने का कोई तरीका है

  3. जावा से बीडी में ब्लॉब स्टोर करें:इस प्रकार के लिए अधिकतम आकार से बड़ा डेटा आकार जब स्पष्ट रूप से नहीं है

  4. ओरेकल में क्वेरी के प्रदर्शन को कैसे मापें?

  5. परिकलित कॉलम के संख्या प्रारूप को समय (hh:mm:ss) प्रारूप, sql क्वेरी में कैसे बदलें?