5

好的,所以我被骗为我工作的 Oracle 数据库做一些数据库设计。问题是,我不是一个数据库人:-)。我目前正在使用 Rational Application Developer (RAD) 对我的数据库模式进行建模。我最想做的是生成一系列 Word 文档,其中包含来自我的 DB 模式的信息(主要是表/列信息、约束和触发器作为 Word 文档中的表)。

我似乎找不到任何使用 RAD 的方法,所以我想知道是否有人知道可以获取 SQL DDL 脚本文件(包含架构的 CREATE 命令)并生成 Word 类型报告的工具?

任何指针都非常感谢。

谢谢...

4

2 回答 2

4

直接对 Oracle 数据字典表本身运行命令,而不是尝试解析包含 create 语句的 SQL 文件,这可能是最简单的。

例如,要获取模式 X 中的所有表,您可以执行以下操作:

SELECT table_name FROM all_tables  WHERE owner = 'X'

要获取表“T”、所有者“U”的所有列,您可以执行以下操作:

SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U'

完整示例

这是一个完整的示例,它允许您为“所有者”拥有的所有表获取所有表及其列。它可以通过一条 SQL 语句来完成:

SELECT t.table_name
     , c.column_name
  FROM all_tables t
     , all_tab_columns c
 WHERE t.TABLE_NAME = c.TABLE_NAME
   AND t.OWNER      = c.OWNER
   AND t.OWNER      = 'owner'
ORDER BY t.TABLE_NAME
       , c.COLUMN_NAME

至于将数据导入Word文档,我只是先将数据导入文本文件,然后如果需要,您可以使用其他方式将其导入Word。要将其转换为文本文件,您只需在运行 SQL 语句之前运行上述命令sql*plus,并在运行 SQL 语句之前将其假脱机到文本文件(即在 中发出spool file.txt命令sql*plus)。然后你的输出将被写入一个文件。

于 2010-07-21T19:17:16.713 回答
1

可以从 Oracle SQL Developer 获得表报告等。但是,需要访问模式,以获取相关信息。

如果您正在对数据库进行建模,因此无权访问工作模式,则可以将 DDL 文件加载到由Oracle Data Modeler维护的模型中(您可能需要先检查它的许可证),然后获取关系模型报告(大部分反映物理数据库模型的报告)。

于 2010-07-21T19:23:25.460 回答