With Oracle dynamic SQL one is able to execute a string containing a SQL statement. e.g.
l_stmt := 'select count(*) from tab1';
execute immediate l_stmt;
I think that the only "solution" is to use
It is not perfect but it is the best that you can get