DBMS_SQL 可以做: 一个例子:create or replace procedure del_dept is
         stmt varchar2(100) := 'delete from dept where name = :n' ;
         cur    integer;
         status integer;
         name varchar2(30) := 'accounting';
     begin
         cur := dbms_sql.open_cursor;   /*Important*/
         dbms_sql.parse(cur, stmt, dbms_sql.v7); /*Important*/
         dbms_sql.bind_variable(cur, 'n', name);/*Important*/
         status := dbms_sql.execute(cur); /*Important*/
         dbms_output.put_line('status = '||status);
     end del_dept;翻一翻oracle 手册动态SQL一章,那里有详细的介绍