CHAPTER36Using Native Dynamic SQL and DBMS_SQL
You can use native dynamic SQL to create general-purpose procedures and to execute DDL commands within PL/SQL. You can use dynamic SQL to execute SQL commands that are built at run time rather than at program-creation time within stored procedural objects (such as packages) and in anonymous PL/SQL blocks. For example, you can create procedures that create tables, that take table names as input parameters, or that take WHERE clauses as input parameters.
Using EXECUTE IMMEDIATE
The script in the following example creates a procedure called ANYSTRING. The ANYSTRING procedure has a single input variable: ...