就是动态SQL,参考:http://soft.yesky.com/SoftChannel/72342371928965120/20041022/1867273.shtml其中,execute immediate 'select name,salary from emp where id=:1' 就是执行动态SQL的语句。

解决方案 »

  1.   

    SQL> set serveroutput on
    SQL> declare
      2  v_out number;
      3  begin
      4  execute immediate 'select 1 from dual ' into v_out;
      5  dbms_output.put_line(v_out);
      6  end;
      7  /
    1PL/SQL 过程已成功完成。SQL>
      

  2.   

    用execute immediate,你的数据库版本必须>=oracle 8i
    DDL语句应该不能回退巴.
      

  3.   

    不好意思,上面写的是如果execute immediate后面写的是DDL语句的话
      

  4.   

    805以下的不可以,需要通过dbms_sql来实现。
    815以上的就可以