
解决方法:
1、dba_tables(在dba权限下可查) SQL> conn / as sysdba Connected
SQL> select count() from dba_tables where owner='TEST';
COUNT()
52
注:表名以及各详细内容可以通过desc dba_tables查看相应字段,在查询相应内容。
2、all_tables(在dba权限下可查) SQL> conn / as sysdba Connected
SQL> select count() from all_tables where owner='TEST';
COUNT()
52
SQL>
注:表名以及各详细内容可以通过desc all_tables查看相应字段,在查询相应内容。
3、user_tables(当前用户下可查) SQL> conn test/test Connected
SQL> select count() from user_tables;
COUNT()
52
SQL> conn matchhr/matchhr Connected
SQL> select count() from user_tables;
COUNT()
28
SQL>
注:表名以及各详细内容可以通过desc user_tables查看相应字段,在查询相应内容。
如果要查看当前用户的表 select table_name from user_tables;不需要过多的权限
all_tables 是可以查看当前用户和其他用户创建的表信息但是你当前用户有权限访问,all_tables 比user_tables 表结构基本一致,只是多了一个owner列,用来区分是哪一个用户的;
最后还有就是dba_tables表了,这个表看名字就知道,是需要dba权限的,它里面存着整个数据库的表信息,表结构跟all_tables基本一样。
select from user_tables --查询当前用户所拥有的表
select from all_tables --查询当前用户能访问的表
select from dba_tables --拥有DBA权限用户能查询所有的表
如果有管理员权限的用户,可以执行:
select from dba_tables;这里可以看到此数据库下的所有表
如果没有管理员权限的用户,则执行:
select from tabs;或者select from user_tables; 只能查询此用户有权限的表,不一定是此用户自己创建的表
以上就是关于oracle 怎样查询某用户下的所有表的表名全部的内容,包括:oracle 怎样查询某用户下的所有表的表名、oracle 怎样查询某用户下的所有表的表名、如何查询oracle数据库中已经存在的数据表名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)