En bindevariabel binder a værdi, i dette tilfælde strengen '45,4932,20,19'. Du kan bruge dynamisk SQL og sammenkædning som foreslået af Randy, men du skal være meget forsigtig med, at brugeren ikke er i stand til at ændre denne værdi, ellers har du et problem med SQL Injection.
En mere sikker rute ville være at lægge ID'erne ind i en Apex-samling i en PL/SQL-proces:
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;
Skift derefter din forespørgsel til:
SELECT * FROM users u WHERE u.user_id IN
(SELECT c001 FROM apex_collections
WHERE collection_name = 'P5_ID_COLL')