Zmienna bind wiąże a wartość, w tym przypadku ciąg '45,4932,20,19'. Możesz użyć dynamicznego SQL i konkatenacji zgodnie z sugestią Randy'ego, ale musisz być bardzo ostrożny, aby użytkownik nie mógł zmienić tej wartości, w przeciwnym razie masz problem z wstrzyknięciem SQL.
Bezpieczniejszą drogą byłoby umieszczenie identyfikatorów w kolekcji Apex w procesie PL/SQL:
declare
array apex_application_global.vc_arr2;
begin
array := apex_util.string_to_table (:P5_USER_ID_LIST, ',');
apex_collection.create_or_truncate_collection ('P5_ID_COLL');
apex_collection.add_members ('P5_ID_COLL', array);
end;
Następnie zmień zapytanie na:
SELECT * FROM users u WHERE u.user_id IN
(SELECT c001 FROM apex_collections
WHERE collection_name = 'P5_ID_COLL')