Muchas gracias por anticipado!

create or replace procedure fill_table (p_tname in varchar2, p_records in number)
l_insert long;
l_rows number default 0;
begin
-- Ciclo para llenar la tabla con la información aleatoria.
for x in (select data_type, data_length,
rpad ('9', nvl (data_precision, 10), '9') / power (10, nvl (data_scale, 1)) maxval
from user_tab_columns
where table_name = upper(p_tname)
order by column_id) loop
if ( x.data_type in ('NUMBER', 'FLOAT' )) then
l_insert := l_insert || 'dbms_random.value(1,' || x.maxval || '),';
elsif ( x.data_type = 'DATE' ) then
l_insert := l_insert || 'sysdate+dbms_random.value+dbms_random.value(1,100 0),';
else
l_insert := l_insert || 'dbms_random.string(''A'',' || x.data_length || '),';
end if;
end loop;
l_insert := rtrim(l_insert,',') || ' from all_objects where rownum <= :n';
loop
dbms_output.put_line (l_insert);
dbms_output.put_line (to_char (p_records) || '-' || to_char (l_rows));
execute immediate l_insert using p_records - l_rows;
l_rows := l_rows + sql%rowcount;
exit when ( l_rows >= p_records );
end loop;
end;
/