表都存在,查询的时候都是可以的。但是加上create or replace view usr_portal.v_milestone_user_info as 就提示ora-00942 表或视图不存在   ,这是什么问题?单独执行下面的几个select都是可以的create or replace view usr_portal.v_milestone_user_info as
Select  ZGH As USERID,XM As Name,a.DWDM As deptcode,b.DM As deptname,'' email,'' workplace,'' workphone,1 As metier   From USR_DATAI.T_JZG  a Left Join USR_ZXBZ.T_ZXBZ_DW b On a.DWDM=b.LBM
UNION
Select  XH As USERID,XM As Name,a.YXDM As deptcode,b.DM As deptname,'' email,'' workplace,'' workphone,3 As metier    From USR_DATAI.T_BZKS a Left Join USR_ZXBZ.T_ZXBZ_DW b On a.YXDM=b.LBM
Union
Select  XH As USERID,XM As Name,a.YXDM As deptcode,b.DM As deptname,'' email,'' workplace,'' workphone,2 As metier    From USR_DATAI.T_YJS  a Left Join USR_ZXBZ.T_ZXBZ_DW b On a.YXDM=b.LBM

解决方案 »

  1.   

    把这几个select放在一个括号里试试。
      

  2.   

    usr_portal.v_milestone_user_info 是否有该用户usr_portal?
    是否有权限访问该用户?
    把usr_portal.v_milestone_user_info改成 v_milestone_user_info试试
      

  3.   

    你的表对象是否通过role 来间接授权的呢?
    如果是的话,那么在存储过程中,role授权是被失效的,因此会报这样的错误。
    解决办法是表对象的直接授权。
      

  4.   

    我认为不是权限的问题.只要楼主把提示不存在的表DROP,并重建下,问题就得到解决了.
      

  5.   

    去掉 usr_portal.如果你是要给 usr_portal 建视图,请以usr_portal用户登录后执行。
      

  6.   

    登陆usr_portal用户,再执行查询,如果报同样的错,就说明是权限问题,相应的解决办法就简单了
      

  7.   

    对于view和procedure的建立,要有明确的对象权限。
      

  8.   

    DROP并CREATE 相关表,问题肯定能搞定.
      

  9.   

    是不是如果没指定对象权限,有可能造成执行成功,但却找不到所创建的procedure
      

  10.   

    我遇到 视图里边 用 union 可以 Union all 报错