Вы можете смоделировать var args, используя тип таблицы в качестве параметра.
create or replace type VARGS as table of varchar2(32767);
Затем вы можете использовать этот тип в качестве последнего параметра функции:
CREATE OR REPLACE Function FNC_COUNT_WITH_NAMES
( P_NAMES IN VARGS )
RETURN number
IS
RT_COUNT NUMBER;
BEGIN
select count(*) INTO rt_count from employees where name IN
(
select * from TABLE(p_names))
);
return rt_count;
END;
Код клиентаназвал бы это с:
exec FNC_COUNT_WITH_NAMES (vargs('Brian','Mike','John','David', 'Bob'));
или
select FNC_COUNT_WITH_NAMES (vargs('Brian','Mike','John','David', 'Bob')) from dual;