我建了个存储过程,但是建完了在企业管理器中找不到了,但是执行那个存储过程是没问题的,方案下面只有表,索引,视图,同义词,序列,簇,源类型和用户类型,没有过程这个文件夹,请问这是为什么,我新建的过程去哪里了?

解决方案 »

  1.   

    你是不是看错方案了?SQL> SELECT OWNER FROM DBA_OBJECTS WHERE OBJECT_NAME ='yourPRO';
      

  2.   

    select * from user_objects where user='YOUR_USER' and object_type='PROCEDURE';
      

  3.   

    我的方案名是tempuser,当右键tempuser创建的过程能在源类型下的过程中找到,但是这个过程是在sql plus worksheet下创建的,在源类型-过程下还是没有这个tempprocedure 这个过程
    set serveroutput on 
      create or replace procedure tempprocedure as 
        tempdate tempuser.testtable.currentdate%type;
    begin
      select currentdate into tempdate from tempuser.testtable where recordnumber=68;
      dbms_output.put_line(to_char(tempdate));
    end;  
      

  4.   

    执行下面语句,看结果再说SQL> select owner from dba_objects where object_name='yourPRO' and object_type='PROCEDURE';
      

  5.   

    select * from user_objects where user='YOUR_USER' and object_type='PROCEDURE';
      

  6.   

    ORACLE 9的存储过程是在方案下面的源类型里面呢
      

  7.   

    当我执行了select * from user_objects where object_type='PROCEDURE'; 时,下面记录里会有TEMPPROCEDURE,这个是我新建的过程名,但是我在tempuser这个方案中,看不到这个TEMPPROCEDURE,为什么呢
      

  8.   

    无语....
    上面说了你怎么不看?我猜测你的过程的owner是sys,然后你的过程应该在sys方案下面,你可以去看看是不是?你可能采用的是connn /as sysdba的方式登陆数据库,而此时不会验证用户的有效性的,而是以SYS登陆,故出现你所说的procedure找不到.
      

  9.   

    select owner from dba_objects where object_name='yourPRO' and object_type='PROCEDURE';查出来的结果是sys,然后我在sys的方案中找到了tempprocedure的过程了,请问为什么会造成这样的情况的
      

  10.   

    同意 12楼
    登录选用 normal方式进去 创建 再看看
      

  11.   

    你可能采用的是connn /as sysdba的方式登陆数据库?
    我打开企业管理器选择的独立启动,然后用户名是system,连接身份是sysdba
      

  12.   

    你这样连接数据库:
    SQL> conn tempuser/passwor
    SQL> conn tempuser/passw@sid然后再创建你的过程,就可以在你用户下找到了.