列出Oracle中给定用户的所有表

新手上路,请多包涵

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

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

 sqlplus  john/passwd

我如何列出给定用户(例如 john)创建的所有表?

原文由 Rezaeimh7 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 387
2 个回答

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

 SELECT * FROM USER_TABLES;

或者

SELECT * FROM ALL_TABLES WHERE OWNER = 'JOHN';

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

原文由 MT0 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进