execute immediate 'select * from table1'
报错无效的sql语句,
单独执行sql语句是没有问题的,请问是什么原因?

解决方案 »

  1.   

    在PL/SQL中的 select语句必须有into搭配~~否则认为是无效的;
      

  2.   

    动态SQL的语法:
    Excute immediate 动态SQL语句 using 绑定参数列表 returning into 输出参数列表;
    在plSQl中select语句的返回值要into输出参数中。单独执行select是错误的
      

  3.   

    SQL> begin 
      2  execute immediate 'select 1 from dual';
      3  end;
      4  /PL/SQL procedure successfully completed没有问题啊
      

  4.   

    SQL> begin
      2  execute immediate 'select * from dual';
      3  end;
      4  /PL/SQL 过程已成功完成。偶的也没啥问题