in bruges sammen med collections , så din inputstreng bør først konverteres til collection (ved at opdele i rækker, baseret på kommaafgrænser)
Prøv noget som dette
Select * from employ where id = 12 and org_id in (
SELECT decode(:input_id,null, (select employ.org_id from dual)
,TRIM(REGEXP_SUBSTR(temp, '[^,]+', 1, level)) )
FROM (SELECT :input_id temp FROM DUAL)
CONNECT BY level <= REGEXP_COUNT(temp, '[^,]+')
)
forresten, dette org_id in () vil returnere true hvis :input_id er null .
En anden tilgang ville være at konstruere hele forespørgslen som en streng først og derefter udføre den enten med execute immediate eller gennem php . Dette kan dog øge sql-injektion
bekymringer.