首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle查询指定用户有权限的全部表

2013-01-26 
Oracle查询指定用户有权限的所有表在Oracle使用过程中经常会用到查看当前或者指定用户对哪些表拥有权限,一

Oracle查询指定用户有权限的所有表

在Oracle使用过程中经常会用到查看当前或者指定用户对哪些表拥有权限,一下几种方法可以实现查看当前或者指定用户对哪些表拥有权限。

 

方法1:

根据指定用户名获得对应用户所拥有权限的表

 Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
    SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT'; TABLE_NAME OWNER------------------------------ ------------------------------DEPT SCOTTEMP SCOTTBONUS SCOTTSALGRADE SCOTT

     

    方法2:

    通过tab视图获得当前登录用户所有表和视图,通过tabletype过滤获得所有表

     Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
      SQL> SELECT * FROM tab WHERE tabtype = 'TABLE'; TNAME TABTYPE CLUSTERID------------------------------ ------- ----------DEPT TABLE EMP TABLE BONUS TABLE SALGRADE TABLE

       

      方法3:

      根据user_tables表获得当前用户拥有所有表

       Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
        SQL> SELECT table_name FROM user_tables; TABLE_NAME------------------------------DEPTEMPBONUSSALGRADE

         

        方法4:

        根据sys表空间下all_object表获得指定用户指定类型对象(表)

         Oracle查询指定用户有权限的全部表Oracle查询指定用户有权限的全部表
          SQL> SELECT object_name FROM sys.all_objects WHERE owner='SCOTT' AND object_type='TABLE'; OBJECT_NAME------------------------------DEPTEMPBONUSSALGRADE

           

          以上4中方式可以根据实际情况随意使用,已达到使用目的。

热点排行