Свързващата променлива свързва a стойност, в този случай низът '45,4932,20,19'. Можете да използвате динамичен SQL и конкатенация, както е предложено от Ранди, но ще трябва да внимавате потребителят да не може да промени тази стойност, в противен случай имате проблем с инжектирането на SQL.
По-безопасен път би бил да поставите идентификаторите в Apex колекция в 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;
След това променете заявката си на:
SELECT * FROM users u WHERE u.user_id IN
(SELECT c001 FROM apex_collections
WHERE collection_name = 'P5_ID_COLL')