首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle :哪个SQL命令可以获取有关表的所有详细信息?

Oracle :哪个SQL命令可以获取有关表的所有详细信息?
EN

Stack Overflow用户
提问于 2016-05-03 21:33:04
回答 3查看 14.6K关注 0票数 5

我正在开发一个Oracle数据库模式可视化器。因此,作为第一步,我想,我首先需要获得所有的模式细节(表和表之间的关系,约束也可能)。

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

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

编辑#1

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-23 11:16:44

我也做过类似的事。我从语句中直接从Oracle DB读取这些内容,并将结果保存到Server表中,以便分析历史比较、模式信息和更改。

因此,您必须对以下查询的结果集进行存储(规则),并在其中添加某种唯一/主键或时间戳,以便区分不同的扫描。

撇开Server特定的代码内容,这些是我目前使用的基本oracle SQL查询:

代码语言:javascript
复制
--Tables
SELECT table_name, owner, Tablespace_name, Num_Rows 
FROM all_tables WHERE tablespace_name is not NULL 
AND owner not in ('SYS', 'SYSTEM') 
ORDER BY  owner, table_name;

--Columns
SLECT OWNER, TABLE_NAME, Column_name, Data_type, data_length, data_precision, NULLABLE, character_Set_Name  
From all_tab_cols 
where USER_GENERATED = 'YES' 
AND owner not in ('SYS', 'SYSTEM');

--Indexes
select Owner, index_name, table_name, uniqueness,BLEVEL,STATUS from ALL_INDEXES
WHERE owner not in ('SYS', 'SYSTEM') 

--Constraints
select owner, constraint_name, constraint_type, table_name, search_condition, status, index_name, index_owner 
From all_constraints 
WHERE generated = 'USER NAME'
AND owner not in ('SYS', 'SYSTEM') 

--Role Previleges
select grantee, granted_role, admin_option, delegate_option, default_role, common
From DBA_ROLE_PRIVS

--Sys Privileges
select grantee, privilege, admin_option, common
From DBA_SYS_PRIVS 
票数 6
EN

Stack Overflow用户

发布于 2016-05-03 23:33:19

你可以从以下方面开始:

代码语言:javascript
复制
select DBMS_METADATA.GET_DDL ('TABLE', table_name,user) from user_tables;

这将反向工程所有将创建表的DDL。不过,它不会提供当前的表/列统计信息。

有些工具(例如Oracle的database /)将允许您将它们指向数据库,并将数据库模型反向工程成一个图表。对于表之间的关系来说,这将是一个很好的起点。

票数 1
EN

Stack Overflow用户

发布于 2016-06-04 20:22:34

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

Sualeh Fatehi,SchemaCrawler

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37014740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档