create or replace package scott.pk_wt is
  type mytype is ref cursor;
  procedure UNFOLDBOM_LAST(mycs out mytype);
end;
CREATE OR REPLACE package BODY SCOTT.pk_wt is
  procedure UNFOLDBOM_LAST(mycs out mytype) is
  begin
    open mycs for
      select * from BMS_BOM; --出问题的部分  end;
end;
最近一个项目要用到建包,上面是我写的一段建包程序,为什么到上面select * from bms_bom部分总是提示表或视图不存在,那个表实际是存在的,请教。

解决方案 »

  1.   

      select * from SCOTT.BMS_BOM;
    试试
      

  2.   

    1.先在sql*plus中执行一下:select * from BMS_BOM; 看该语句是否有问题,如果没有问题,则把你
    建的包名前的用户scott去掉,在编译一下看看。create or replace package pk_wt is 
      type mytype is ref cursor; 
      procedure UNFOLDBOM_LAST(mycs out mytype); 
    end; 
    CREATE OR REPLACE package BODY pk_wt is 
      procedure UNFOLDBOM_LAST(mycs out mytype) is 
      begin 
        open mycs for 
          select * from BMS_BOM;    end; 
    end; 
      

  3.   

    SCOTT.BMS_BOM
    前面是schema的名字create or replace package schemaName.packageName
    ...
      

  4.   

    应该不是这个问题引起的
    包头名和包体名可以加schema名的如果楼主对SCHEMA和USER不了解的话可以参考下面的文章
    http://blog.csdn.net/wh62592855/archive/2009/09/27/4599333.aspx