【发布时间】:2019-05-17 23:07:02
【问题描述】:
使用 SQLDeveloper 工具并尝试使用“保存包主体和规范”功能,以便在单个文件中创建包含包主体和规范内容的导出文件。但是在这样做的同时,文件是用空白或空内容创建的。是否缺少一些设置来使这成为可能?
-
我希望导出功能能够正常工作
【问题讨论】:
-
你有什么版本的工具?
标签: oracle oracle-sqldeveloper
使用 SQLDeveloper 工具并尝试使用“保存包主体和规范”功能,以便在单个文件中创建包含包主体和规范内容的导出文件。但是在这样做的同时,文件是用空白或空内容创建的。是否缺少一些设置来使这成为可能?
-
我希望导出功能能够正常工作
【问题讨论】:
标签: oracle oracle-sqldeveloper
我们运行两个查询来实现这个“魔法”。
如果您是高权限用户,可以访问 DBA_ 视图,我们会运行它(它比 ALL_ 视图快得多)
SELECT 'CREATE OR REPLACE ' || text source,
line
FROM dba_source
WHERE owner = :owner
AND name = :name
AND line = 1
AND type = 'PACKAGE'
UNION ALL
SELECT text,
line
FROM dba_source
WHERE owner = :owner
AND name = :name
AND line != 1
AND type = 'PACKAGE'
ORDER BY line
然后我们运行这个:
SELECT 'CREATE OR REPLACE ' || text source,
line
FROM dba_source
WHERE owner = :owner
AND name = :name
AND line = 1
AND type = 'PACKAGE BODY'
UNION ALL
SELECT text,
line
FROM dba_source
WHERE owner = :owner
AND name = :name
AND line != 1
AND type = 'PACKAGE BODY'
ORDER BY line
生成的文件将包含 SPEC 的 CREATE 或 REPLACE 代码,后跟一个“/”,然后是 BODY。
如果您的用户权限较低,我们将运行基本相同的查询,但具有 ALL_ 视图。
您是从自己的架构生成代码,还是从其他人的架构生成代码?
您使用的是什么版本的 SQL Developer 和 Oracle?
试试下面的查询,看看你会得到什么。
您可以通过查看视图 - 日志面板和语句部分来了解我们正在为自己做什么:
【讨论】: