Ada*_*sch 204
要查看另一个模式中的所有表,您需要具有以下一个或多个系统特权:
SELECT ANY DICTIONARY
(SELECT | INSERT | UPDATE | DELETE) ANY TABLE
Run Code Online (Sandbox Code Playgroud)
或者是大锤子,DBA的角色.
有了这些,您可以选择:
SELECT DISTINCT OWNER, OBJECT_NAME
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
Run Code Online (Sandbox Code Playgroud)
如果没有这些系统权限,您只能看到已被授予某种级别访问权限的表,无论是直接访问还是通过角色.
SELECT DISTINCT OWNER, OBJECT_NAME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = '[some other schema]'
Run Code Online (Sandbox Code Playgroud)
最后,您始终可以查询自己的表的数据字典,因为您对表的权限无法撤销(截至10g):
SELECT DISTINCT OBJECT_NAME
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
Run Code Online (Sandbox Code Playgroud)
Tom*_*Tom 64
SELECT table_name from all_tables where owner = 'YOURSCHEMA';
Run Code Online (Sandbox Code Playgroud)
Sat*_*hat 13
你可以查询 USER_TABLES
select TABLE_NAME from user_tables
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您知道所有者姓名,则可以直接运行第二个查询。
--首先您可以选择存在的所有所有者:
SELECT DISTINCT(owner) from SYS.ALL_TABLES;
Run Code Online (Sandbox Code Playgroud)
--然后你可以看到该所有者下面的表格:
SELECT table_name, owner from all_tables where owner like ('%XYZ%');
Run Code Online (Sandbox Code Playgroud)