我是Oracle新手,想查找用户'john'创建的所有表。

我通过以下命令通过命令行连接到Oracle数据库:

sqlplus  john/passwd

如何列出给定用户创建的所有表,例如约翰?

最佳答案

这将获得所有以“JOHN”用户为所有者的表:

SELECT * FROM USER_TABLES;

要么
SELECT * FROM ALL_TABLES WHERE OWNER = 'JOHN';

([TL; DR] 'JOHN'通常需要使用大写。假设用户john是使用CREATE USER john ...语句创建的,那么Oracle的默认行为是将所有对象名称(即表,列,用户等)转换为大写在查询数据字典时,表详细信息将在这种情况下存储(而不是原始命令中使用的情况,除非您将其用双引号引起来)。

07-24 09:38
查看更多