首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文档Oracle数据库

文档Oracle数据库
EN

Stack Overflow用户
提问于 2010-08-12 07:46:42
回答 1查看 728关注 0票数 2

我被要求记录一个Oracle数据库。我不需要EER图或任何花哨的东西:一个简单的可打印文档,包含表和列的描述就可以了。但是,我不喜欢为所有79个表键入列名。是否有任何工具从数据库服务器中提取这些信息,可能包含一些基本信息,如数据类型和注释?

代码语言:javascript
复制
Table: Foo
Comment: Definition of system foo
Columns:
    Name       | Data type    | Default value | Allow NULL | Key         | Comment
    -----------------------------------------------------------------------------------------
    FOO_ID     | NUMBER(*,0)  | -             | NOT NULL   | Primary Key | Value from FOO_SEQ
    DATE_ADDED | DATE         | SYSDATE       | NOT NULL   | -           | -
    FOO_NAME   | VARCHAR2(50) | -             | NOT NULL   | Unique      | Foo identifier

我正在运行Windows,服务器是11g。

后果

我在在线Oracle文档中找不到合适的视图索引,所以我最终抓取了PDF版本并搜索了它,直到得到以下查询:

代码语言:javascript
复制
/*
 * Tables and views
 */
SELECT UO.OBJECT_NAME, UO.OBJECT_TYPE, UO.TEMPORARY, TC.COMMENTS
FROM USER_OBJECTS UO
LEFT JOIN USER_TAB_COMMENTS TC ON UO.OBJECT_NAME=TC.TABLE_NAME
WHERE UO.OBJECT_TYPE IN ('TABLE', 'VIEW')
ORDER BY UO.CREATED, UO.OBJECT_ID

/*
 * Columns
 */
SELECT TC.TABLE_NAME, TC.COLUMN_NAME,
    TC.DATA_TYPE, TC.DATA_LENGTH, TC.DATA_PRECISION, TC.DATA_SCALE, TC.CHAR_USED,
    TC.DATA_DEFAULT, TC.NULLABLE, CC.COMMENTS
FROM USER_TAB_COLUMNS TC
LEFT JOIN USER_COL_COMMENTS CC ON TC.TABLE_NAME=CC.TABLE_NAME AND TC.COLUMN_NAME=CC.COLUMN_NAME
ORDER BY TC.TABLE_NAME, TC.COLUMN_ID

/*
 * Restrictions
 */
SELECT UC.TABLE_NAME, UC.CONSTRAINT_NAME, UC.CONSTRAINT_TYPE, /*UC.SEARCH_CONDITION, UC.R_CONSTRAINT_NAME, UC.DELETE_RULE,*/
    CC.COLUMN_NAME, CC.POSITION
FROM USER_CONSTRAINTS UC
LEFT JOIN USER_CONS_COLUMNS CC ON UC.CONSTRAINT_NAME=CC.CONSTRAINT_NAME
ORDER BY UC.TABLE_NAME, UC.CONSTRAINT_TYPE, UC.CONSTRAINT_NAME, CC.POSITION

按时间顺序获取表(安装程序创建表的顺序)允许我按逻辑顺序记录它们(毕竟,我编写了安装程序)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-12 07:49:59

元数据可以从ALL_TABLES和ALL_TAB_COLUMNS中提取。

蟾蜍提供了一个工具来提取类似上述的报告,但是如果它是一次性的话,我可能会使用直接的SQL。

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

https://stackoverflow.com/questions/3465677

复制
相关文章

相似问题

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