oracle 怎样查询某用户下的所有表的表名??
如题
------解决方案--------------------select * from user_tables where table_name = '用户名'
------解决方案--------------------user_tables
------解决方案--------------------select * from user_tables where…
------解决方案--------------------
这个可以
------解决方案--------------------如果是用该用户登录使用以下语句:
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 dba_tables where owner='用户名';--用户名要大写!
------解决方案--------------------
还是不可以啊、。。。。
------解决方案--------------------
应该OK的啊,有没有提什么错误?
------解决方案--------------------
提示,为选定行
不过,我创建用户的时候就是小写哦。。。但是,大小写都不可以呢。。。
------解决方案--------------------如果是当前用户,"select * from tab"即可
------解决方案--------------------如果是别的用户,“select table_name from all_tables where owner='用户名'“。
------解决方案--------------------用户没有DBA权限,查看不了DBA_TABLES的,只能查看ALL_TABLES 这个视图
------解决方案--------------------select * from ......
------解决方案-------------------- 这个可以,试了
------解决方案--------------------