Obawiam się, że to nie działa w ten sposób:
SELECT * from myTable where name in (inputStr);
Możesz użyć dynamicznego SQL, jak w odpowiedzi @Bob Jarvis, lub możesz wykonać następujące czynności:
SELECT * FROM myTable WHERE REGEXP_LIKE(name, '^(' || REPLACE(inputStr, ',', '|') || ')$');
Trudność z tym ostatnim polega na tym, że w Oracle wyrażenie regularne może mieć maksymalnie 512 bajtów. Więc twój inputStr
będzie ograniczony do 508 bajtów (ponieważ dodajemy cztery bajty dla kotwic i grupowania).