Thanks, Jeff. I revised the line per your correction:

mysql := 'insert into '||table_in||'(name) values("TOM")';

It compiles with no error now. However, when I execute it by parsing a table named 'TEST', it gives error:

SQL> exec insert_table('TEST');
BEGIN insert_table('TEST'); END;

*
ERROR at line 1:
ORA-00984: column not allowed here
ORA-06512: at "USER.INSERT_TABLE", line 6
ORA-06512: at line 1