Se l'unica cosa che non sai come fare qui è usare il nome di una tabella in modo dinamico, ecco come puoi farlo
1 declare
2 n number;
3 table_name varchar2(30) := 'dual';
4 begin
5 execute immediate 'select count(*) from ' || table_name into n;
6 dbms_output.put_line(n);
7* end;
SQL> /
1