日期:2014-05-17  浏览次数:21148 次

oracle 怎样查询某用户下的所有表的表名??
如题
------解决方案--------------------
select * from user_tables where table_name = '用户名'
------解决方案--------------------
user_tables
------解决方案--------------------
select * from user_tables where…

------解决方案--------------------
引用:
select * from user_tables where table_name = '用户名'

这个可以
------解决方案--------------------
如果是用该用户登录使用以下语句:
SELECT *
FROM USER_TABLES;
如果是用其他用户:
SELECT *
FROM ALL_TABLES WHERE OWNER='USER_NAME' 





首先,第一句:是查询的该用户下的所有表吗?一般的普通用户,只是授予了connect 和 resource权限,也可以查看部分系统表吗?怎样查看该用户【以该用户登录】下的自己创建的所有表呢?
其次,第二句,当我以sys身份登录时,怎么不可以使用这一句呢?SELECT *
FROM ALL_TABLES WHERE OWNER='xiaoming'【xiaoming是我自己创建的用户,只是授予了connect 和 resource权限】

------解决方案--------------------
引用:
如果是用该用户登录使用以下语句:
SELECT *
FROM USER_TABLES;
如果是用其他用户:
SELECT *
FROM ALL_TABLES WHERE OWNER='USER_NAME' 







首先,第一句:是查询的该用户下的所有表吗?一般的普通用户,只是授予了connect 和 resource权限,也可以查看部分系统表吗?怎样查看该用户【以该用户……



没有人回答吗?
------解决方案--------------------
select * from dba_tables where owner='用户名';--用户名要大写!
------解决方案--------------------
引用:
select * from dba_tables where owner='用户名';--用户名要大写!



还是不可以啊、。。。。
------解决方案--------------------
引用:
引用:

select * from dba_tables where owner='用户名';--用户名要大写!



还是不可以啊、。。。。


应该OK的啊,有没有提什么错误?
------解决方案--------------------
引用:
引用:

引用:

select * from dba_tables where owner='用户名';--用户名要大写!



还是不可以啊、。。。。


应该OK的啊,有没有提什么错误?



提示,为选定行
不过,我创建用户的时候就是小写哦。。。但是,大小写都不可以呢。。。
------解决方案--------------------
如果是当前用户,"select * from tab"即可
------解决方案--------------------
如果是别的用户,“select table_name from all_tables where owner='用户名'“。
------解决方案--------------------
用户没有DBA权限,查看不了DBA_TABLES的,只能查看ALL_TABLES 这个视图
------解决方案--------------------
select * from ......
------解决方案--------------------
引用:
如果是当前用户,"select * from tab"即可
 这个可以,试了
------解决方案--------------------