如何查询Oracle数据库以显示Oracle数据库中所有表的名称?
当前回答
查询user_tables和dba_tables无效。 这一个做到了:
select table_name from all_tables
其他回答
实际上,可以通过SQL查询获得表列表。也可以通过允许生成数据字典的工具来做到这一点,例如ERWIN, Toad data Modeler或ERBuilder。使用这些工具,除了表名之外,您还将拥有字段,它们的类型,对象,如(触发器,序列,域,视图…)
下面的步骤来生成你的表格定义:
您必须对数据库进行逆向工程 在Toad数据建模器中:菜单->文件->逆向工程->逆向工程向导 在ERBuilder数据建模器中:菜单->文件->逆向工程
您的数据库将在软件中显示为实体关系图。
生成包含Tables定义的数据字典 在Toad data modeler中:菜单->模型->生成报告->运行 在ERBuilder数据建模器:菜单->工具->生成模型文档
查询user_tables和dba_tables无效。 这一个做到了:
select table_name from all_tables
当前用户登录模式中的表
select * from tabs;
select * from all_all_tables
开头附加的“all”给出了额外的3列,分别是:
OBJECT_ID_TYPE
TABLE_TYPE_OWNER
TABLE_TYPE
尝试从user_tables中选择,其中列出了当前用户拥有的表。
推荐文章
- NVL和Coalesce之间的Oracle差异
- 在SQL server查询中将NULL替换为0
- 在SQL中修改表的模式名
- 如何在SQL Server 2005的一条语句中更新两个表?
- 如何创建临时表与SELECT * INTO tempTable从CTE查询
- 用于查找计数为>的记录的SQL查询
- “从Table1左连接Table2”和“从Table2右连接Table1”可以互换吗?
- 在SQL Server的选择语句中使用带TOP的变量,而不是动态的
- 自然连接和内部连接的区别
- MySQL现在()+1天
- 在SQL中转换月号到月名函数
- 不可重复读和幻影读的区别是什么?
- 改变一个varchar列的最大长度?
- 外键约束:何时使用ON UPDATE和ON DELETE
- ORA-00054:资源繁忙,指定NOWAIT或超时获取