我是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的默认行为是将所有对象名称(即表,列,用户等)转换为大写在查询数据字典时,表详细信息将在这种情况下存储(而不是原始命令中使用的情况,除非您将其用双引号引起来)。