直接对 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
)。然后你的输出将被写入一个文件。