Native dynamic SQL - execute immediate with column and table names
Because a bind variable is a value or value address, not a table or column name.

bind variable


  A placeholder in a SQL statement that must be replaced with a valid
  value or value address for the statement to execute successfully. By
  using bind variables, you can write a SQL statement that accepts
  inputs or parameters at run time.


Binding happens after parsing, but a statement can not be parsed without knowing the required tables and columns.