【问题标题】:Save Package body and Spec保存包体和规格
【发布时间】:2019-05-17 23:07:02
【问题描述】:

使用 SQLDeveloper 工具并尝试使用“保存包主体和规范”功能,以便在单个文件中创建包含包主体和规范内容的导出文件。但是在这样做的同时,文件是用空白或空内容创建的。是否缺少一些设置来使这成为可能?

-

我希望导出功能能够正常工作

【问题讨论】:

  • 你有什么版本的工具?

标签: oracle oracle-sqldeveloper


【解决方案1】:

我们运行两个查询来实现这个“魔法”。

如果您是高权限用户,可以访问 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?

试试下面的查询,看看你会得到什么。

您可以通过查看视图 - 日志面板和语句部分来了解我们正在为自己做什么:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多