En bindningsvariabel binder a värde, i det här fallet strängen '45,4932,20,19'. Du kan använda dynamisk SQL och sammanlänkning som föreslagits av Randy, men du måste vara mycket försiktig så att användaren inte kan ändra detta värde, annars har du problem med SQL Injection.
En säkrare väg skulle vara att lägga in ID:n i en Apex-samling i en PL/SQL-process:
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;
Ändra sedan din fråga till:
SELECT * FROM users u WHERE u.user_id IN
(SELECT c001 FROM apex_collections
WHERE collection_name = 'P5_ID_COLL')