有可能是没有权限查对象,也有可能是procedure没有被授予可执行的权限

解决方案 »

  1.   

    create or replace package body getstudent
    as
    create or replace procedure getstudent(result out mytype)
    as
    begin
    execute immediate 'select * from students'; --为了不报编译错,我只能这么写,虽然没效
    end;
    /
      

  2.   

    select * from students;
    你的这个过程本来就是错的,当然编译不通过!!
    上网搜索一下Oracle返回结果集的例子吧
      

  3.   

    SQL> create or replace package body getstudent
    2 as
    3 procedure getstudent(result out mytype)
    4 as
    5 begin
      open result for
    6 select * from students;
    7 end;
    8 /