写了一个procedure,编译通过,却不能测试。一点测试就出现如下错误:
ORA-06563: top level procedure /function specified, cannot have subparts我就纳闷了,以前没碰到过啊,于是我就试了一个最简单的
create or replace procedure ttttt is
begin
  delete from zyj1 where id=10;
end ttttt;
点测试,错误依旧这到底是什么问题啊???

解决方案 »

  1.   

    create or replace procedure ttttt is
    begin
     execute immediate 'delete from zyj1 where id=10';
    end ttttt;
      

  2.   

    在sqlplus中执行show errors;看看!看有什么异常信息。
      

  3.   

    在procedure中尽量使用dbms_output.put_line(....),不光自己调试方便,对于其他调用者调试自己的程序也很方便
      

  4.   

    在存储过程里加异常捕捉,
    同时用PL/SQL DEV进行逐行调试,看看执行存储过程了?
      

  5.   


    还是 ORA-06563: top level procedure /function specified, cannot have subparts
      

  6.   

    找到原因了...
    没经验啊...居然有一个procedure跟用户同名,导致所有的procedure都不能用了..