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

plsql संग्रहीत कार्यविधि में अल्पविराम से अलग किए गए पैरामीटर

मुझे डर है कि यह इस तरह से काम न करे:

SELECT * from myTable where name in (inputStr);

आप डायनेमिक SQL का उपयोग कर सकते हैं, जैसा कि @Bob Jarvis' उत्तर में है, या आप निम्न कार्य कर सकते हैं:

SELECT * FROM myTable WHERE REGEXP_LIKE(name, '^(' || REPLACE(inputStr, ',', '|') || ')$');

उत्तरार्द्ध के साथ कठिनाई यह है कि, ओरेकल में, एक नियमित अभिव्यक्ति अधिकतम 512 बाइट लंबी हो सकती है। तो आपका inputStr 508 बाइट्स तक सीमित होगा (चूंकि हम एंकर और ग्रुपिंग के लिए चार बाइट्स जोड़ रहे हैं)।



  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. PDB अनप्लग ORA-17528 त्रुटि

  3. गैर-एपेक्स पीएल/एसक्यूएल एप्लिकेशन में फ़ाइल अपलोड ओआरडीएस में माइग्रेट हो गए

  4. Oracle SQL डेवलपर कॉपी डेटाबेस स्टेप बाय स्टेप

  5. ORA-16789:स्टैंडबाय रीडो लॉग गलत तरीके से कॉन्फ़िगर किया गया