我刚接触Oracle,想查找用户’john’创建的所有表。
我通过以下命令通过命令行连接到Oracle数据库:
sqlplus john/passwd
如何列出给定用户(例如john)创建的所有表?
这将获得所有以“ JOHN”用户为所有者的表:
SELECT * FROM USER_TABLES;
或者
SELECT * FROM ALL_TABLES WHERE OWNER = 'JOHN';
([TL; DR]'JOHN'通常需要使用大写。假设用户john是使用该CREATE USER john ...语句创建的,那么Oracle的默认行为是将所有对象名称(即表,列,用户等)都转换为大写。查询数据字典,在这种情况下(而不是在原始命令中使用的情况,除非您将其用双引号引起来),将存储表详细信息。)
'JOHN'
john
CREATE USER john ...