No, using bind variable as the parameter for the IN operator is not possible like this. But you can revrite the query like this to use the comma delimited list as bind variable (assuming column ID is of NUMBER type):
sql_stmt :=
'SELECT id FROM caw_communities_x
WHERE INSTR(:1, '',''||TO_CHAR(id)||'','') > 0';
EXECUTE IMMEDIATE sql_stmt BULK COLLECT INTO CommunityList
USING ','||communities||',';
The execution plan for this query might of course be totaly different (it will perform full table scan), but if the number of records in your table is relatively small and/or the number of elements in your in-list parameter is relatively large the performance might be acceptable.
Jurij Modic
ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
Bookmarks