Ste*_*eve 5 sql oracle database-schema
好的,所以我被骗了为我工作的Oracle数据库做一些数据库设计.问题是,我不是一个数据库人:-).我目前正在使用Rational Application Developer(RAD)来对我的数据库模式进行建模.我理想的做法是生成一系列Word文档,其中包含来自我的数据库模式的信息(主要是表/列信息,约束和触发器作为Word文档中的表).
我似乎无法用RAD找到任何方法,所以我想知道是否有人知道可以采用SQL DDL脚本文件(包含架构的CREATE命令)的工具,并生成Word类型的报告?
任何指针都非常感激.
谢谢...
最简单的方法可能是直接针对 Oracle 数据字典表本身运行命令,而不是尝试解析包含 create 语句的 SQL 文件。
例如,要获取模式 X 中的所有表,您可以执行以下操作:
SELECT table_name FROM all_tables WHERE owner = 'X'
Run Code Online (Sandbox Code Playgroud)
要获取表“T”、所有者“U”的所有列,您可以执行以下操作:
SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U'
Run Code Online (Sandbox Code Playgroud)
完整示例
这是一个完整的示例,它允许您获取“所有者”拥有的所有表的所有表及其列。可以使用单个 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
Run Code Online (Sandbox Code Playgroud)
至于将数据导入Word文档,我只是先将数据导入文本文件,然后如果需要的话可以使用其他方式将其导入Word。要将其放入文本文件,您只需在 中运行上述命令,然后在运行 SQL 语句之前将sql*plus
其后台打印到文本文件(即spool file.txt
在 中发出命令)。sql*plus
然后你的输出将被写入一个文件。