能让他完全不显示么。而且我在procedure上右键,点“新建”没有反应,只好通过写sql生成一个新的procedure.

解决方案 »

  1.   

    DROP PROCEDURE 你的过程名;
      

  2.   

    DROP PROCEDURE xxxtet,试了,不行,报对象不存在,但procedure下面确实又有它这个名字
      

  3.   

    已经报对象不存在了,那就应该drop掉了
    重启下pl/sql看看
      

  4.   

    pl/sql里默认的名称都是大写,我这个名称自己定义的小写,会不会是这个有问题呀
      

  5.   

    delete from user_procedures where procedure_name = 存储过程名用这个SQL试一下
      

  6.   

    在user_procedures 我查了下找不到那个存储过程了
      

  7.   

    select * from dba_objects where status='INVALID' 
    但是在这个里面能搜到这些有问题的存储过程。
      

  8.   

    是不是因为你创建过程和删除过程不是同一个用户?
    因为该过程不在当前用户下,所以报对象不存在。
    然而在procedure里面显示,是因为默认是显示所有用户的存储过程“All objects”;
      

  9.   

    不是,是同一个用户,都是“My objects”
      

  10.   

    这些有问题的procedure 在"my objects"和“my invalid objects”都能显示