Чтобы вывести результаты оператора select в процедуре, вам нужно использовать курсор.
create procedure myproc
(in_variable IN number, out_records OUT sys_refcursor)
as
begin
open out_records for
select * from mytable
where column = in_variable;
end;
, а затем использовать его, объявить курсор, выполнить процедуру и вывести результаты.
variable records refcursor;
exec myproc(1, :records);
print :records;
(нет обещаний, что вышеприведенное синтаксически идеально - я сейчас далеко от БД. Но оно должно быть достаточно близко, чтобы направить вас в нужном направлении.)
О -и вы можете использовать определенный пользователем тип курсора внутри пакета, если это соответствует вашей среде.