2016-05-03 47 views
0

我正在开发一个Oracle数据库模式可视化器。所以,作为第一步,我想,我首先需要获取所有模式细节(表格和表格之间的关系,也可能是约束)。Oracle:使用哪个SQL命令获取有关表的所有详细信息?

要获取该信息,将返回结果的SQL命令是什么?

(该DESCRIBE命令不会返回有关所有表中的信息)

编辑#1

其实,我想要做的是让所有有关的所有表的信息我提到(列,行,外键约束)来存储它们INA的MongoDB数据库,然后创建可视化(图不包括在内)

+1

对此没有单一的说法。你需要查询几个系统表:http://docs.oracle.com/database/121/REFRN/toc.htm从'all_tables'开始,你需要'all_tab_columns'可能'all_indexes'和'all_ind_columns'和'all_ind_expression' 。如果你想约束你需要'all_constraints'和'all_cons_columns'。顺便说一句:'describe'不是一个SQL语句。这是一个特定于SQL \ * Plus的命令,无法从编程语言中使用 –

回答

0

你可以下手:

select DBMS_METADATA.GET_DDL ('TABLE', table_name,user) from user_tables; 

这将反向工程将创建表的所有DDL。它不会给你当前的表/列统计。一些工具(例如Oracle的数据建模器/ SQL Developer)可以让你将它们指向一个数据库,并将数据库模型逆向工程化为一个图表。那将是开始表格之间关系的好地方。

+0

实际上,我想要做的就是像我提到的那样获取有关所有表的所有信息(列,行,外键,约束)将它们存储在MongoDB数据库中,然后创建可视化(不包括图表)。 – Sherlock

0

MongoDB支持JSON文档,因此解决问题的最佳方法是将数据库元数据提取到JSON文档中。您可以使用SchemaCrawler将数据库元数据提取为JSON。

Sualeh Fatehi SchemaCrawler

相关问题