oracle中授权给用户某个视图,如何让该用户只能查询该视图,看不到这个视图的定义信息,也就是不能看这个视图是从哪几个表关联得到的。请各位大虾指教。谢谢。

解决方案 »

  1.   

    好像不能。不让人查看定义,你能select定义基本就一目了然了
      

  2.   

    create   user   temp   identified   by   temp; 
    grant   select   on   testview   to   temp;   
    grant   connect   to   temp;
    conn   temp/temp在pl/sql中,使用temp用户登录,右键点dbuser.testview,然后点查看,还是能看到这个视图的定义啊,这样降低了安全性啊。据说可以屏蔽掉视图的定义,请大虾帮忙,也感谢以上二位的参与哈。
      

  3.   

       什么需求啊?
       也是可以的,不过比较费劲而已。
       建立基于视图的视图,例如
       create or replace view vMid as select  a.*,b.* from a,b where xx
       create or replace view vDst as select * from vMid  
        
      

  4.   

    只授权查询
    create  user  temp  identified  by  temp; 
    grant  select  on  视图名  to  temp;  
      

  5.   

    不行。再说不给设置连接权限,temp连库都连不上。