バインド変数はaをバインドします 値。この場合、文字列「45,4932,20,19」。 Randyが提案したように、動的SQLと連結を使用できますが、ユーザーがこの値を変更できないように十分に注意する必要があります。そうしないと、SQLインジェクションの問題が発生します。
より安全な方法は、PL/SQLプロセスのApexコレクションにIDを配置することです。
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')