एक तरीका यह हो सकता है कि 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;