你的 oracle 是什么版本的?

解决方案 »

  1.   

    create or replace PROC_SM 
    AS
      procName varchar2(250); --procName沒有定義  
    BEGIN
      ..
      procName:=  ;--存储过程名是动态获得,从一个表里取的,且这个存储过程不带参数
      execute immediate procName; --错误:不正确的sql语句
      --execute immediate 'call '|| procName;--不正确的过程名
    end;
      

  2.   

    to: baojianjun(包子) ( )
    我定义了,只是省略了,存储过程编译没有错误,执行的时候“execute immediate procName”这条语句发生了异常
    to: l2g32003(T2-X) ( ) 信   oracle8.17
      

  3.   

    问题解决了一点,用“execute immediate”语句可以执行 
    execute immediate 'begin '||procName||';end;';
    --begin end  里可以放任何ddl语句,只是不知还有没有其它调用方法。