Этот SQL не будет работать, потому что ORDS не разделяет значения CSV.Так что sql as-is будет проверять id in ( '1,2,3')
, а не id in ( 1,2,3)
. Есть несколько способов достичь цели.
Например, используя XMLTABLE
SELECT rownum,object_id
FROM user_objects
WHERE rownum IN (
select (column_value).getstringval() csv_values
FROM
xmltable(('"' || REPLACE(:ids, ',', '","')|| '"'))
)
Здесь упоминаются и другие способы: Использование предложения «IN» со строкой, разделенной запятыми, из вывода функции replace () в Oracle SQL
Вот API ORDS RESTделать именно то, что вы намерены.