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

WHERE IN क्लॉज में उपयोग करने के लिए Oracle प्रक्रिया में मानों की एक सरणी भेजना

एक तरीका यह हो सकता है कि VARRAY . का उपयोग किया जाए PARAM_THAT_WILL_BE _USED_INSIDE_WHERE_IN के लिए पैरामीटर और इसे यहां बताए अनुसार उपयोग करें
मुझे यकीन नहीं है, हालांकि, इसे c# से कैसे कॉल करें।

एक और तरीका है कि आप अपने प्रश्न में बताए गए csv के साथ varchar2 का उपयोग करें, लेकिन गतिशील sql के बिना, इस तरह:

CREATE PROCEDURE MY_TEST_PROC(
  CUR OUT SYS_REFCURSOR,
  PARAM_THAT_WILL_BE varchar2)
AS
BEGIN
  OPEN CUR FOR 
    SELECT * 
      FROM MY_TABLE 
     WHERE COL1 IN (
        select regexp_substr(PARAM_THAT_WILL_BE, '[^,]+',1,level) p
          from dual t
       connect by level <= regexp_count(PARAM_THAT_WILL_BE, ',') + 1
)
END;


  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. मुझे इंस्टॉलर संसाधन कहां रखना चाहिए (wxs फ़ाइल, डीएमजी-स्क्रिप्ट, आइकन) और स्वयं निहित ऐप को तैनात करते समय मेवेन एंट्रन को कॉन्फ़िगर कैसे करें

  3. Oracle Connect BY के साथ भ्रम

  4. लॉग () Oracle में समारोह

  5. सबसे हाल के रिकॉर्ड को छोड़कर सभी रिकॉर्ड हटाएं?