使用SQLDeveloper工具并尝试使用功能-“保存程序包主体和规范”,以便在单个文件中创建包含程序包主体和规范内容的导出文件。但是在执行此操作时,将使用空白或空内容创建文件。要做一些设置以使之成为可能吗?
-
我希望导出功能正常工作
答案 0 :(得分:2)
我们运行两个查询以使这种“神奇”发生。
如果您是高度私有用户,可以访问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相同。
如果您的用户的privs较少,我们将使用与ALL_视图基本相同的查询。
您是根据自己的模式还是他人的模式生成代码?
您正在使用哪个版本的SQL Developer和Oracle?
尝试下面的查询,看看会得到什么。
通过观察“查看-日志”面板和“语句”部分,您可以了解我们为自己所做的事情: