Niraj. Вам следует использовать принципы, предоставленные Винсентом, но я предлагаю вам использовать вложенный тип таблицы вместо varray, если вам не нужен точно тип varray в вашей логике. Это избавит вас от ошибки ORA-22165, если запрос вернет более 4 строк - вложенная таблица будет автоматически расширена до необходимого размера. Вы определяете тип вложенной таблицы следующим образом:
declare
type TStrTab is table of varchar2(10);
fStrTab TStrTab := TStrTab();
begin
select ... bulk collect into fStrTab from...
end;
Дополнительную информацию о типах коллекций PL / SQL можно найти в официальном руководстве пользователя Oracle PL-SQL и справочнике Глава 5 .