Puede definir un tipo de registro PL/SQL y el tipo de tabla asociado. Entonces puedes emitir un SELECT...BULK COLLECT
para llenar su mesa.
declare
type my_record_type is record (testId number, testvalue number);
type my_table_type is table of my_record_type index by binary_integer;
my_table my_table_type;
begin
select x, y bulk collect into my_table from table_foo;
end;