如何在SQL Developer中将.sql文件作为包文件打开?

时间:2014-03-24 17:04:45

标签: sql plsql oracle-sqldeveloper

我一直使用PL / SQL Developer和TOAD。由于SQL Developer中提供的单元测试功能,我对使用该程序而不是其他程序非常感兴趣。但我有点愚蠢的问题。问题是所有包文件都存储为.SQL文件,如果我尝试打开其中一个,SQL Developer会将其作为SQL表打开。有没有办法将视图更改为PL / SQL视图,以便显示调试选项和内容?

2 个答案:

答案 0 :(得分:4)

如果您打开的文件包含.pks.pkb.pls.plb扩展名,那么您将获得调试程序选项:

enter image description here

According to the documentation您可以将存储过程链接到文件,但我不完全清楚应该做什么;如果我从.p*文件编译然后创建对象,但是如果我从Connections窗格打开该对象,则更改仍然不会反映在文件中。我不确定'基于文件的PL / SQL模块'是什么意思......

如果您的文件具有.sql扩展名并且无法更改(如果它位于源代码管理中,则可能无法更改),这对您没有任何帮助。您可以关联文件类型,但内置的文件类型不可编辑:

enter image description here

尝试通过在extensionsToNodeTypes中添加product-preferences.xml条目来覆盖它似乎没有做任何事情,如果有的话可能不会支持。

因此,除非您可以更改文件扩展名,否则我认为您无法执行您正在尝试的操作。

答案 1 :(得分:3)

如果.sql文件中的包尚不存在,您可以从SQL工作表中执行脚本(使用'运行脚本'按钮,或使用F5)。

一旦包存在,你可以查看它;从左侧的“连接”窗格中,展开当前连接以查看对象类型,然后展开“' Packages'并且您将看到您的包裹名称。双击它打开包规范;在“连接”窗格中,您会看到展开,以便您可以看到正文,您也可以双击查看(或者顶部有一个“打开的正文”按钮)规范视图)。这两个都为您提供了执行过程/函数,调试它或重新编译以进行调试等的选项。

enter image description here

但是,如果您通过此界面更改包,则这些更改不会反映在您的.sql文件中。我不知道PL / SQL Developer或Toad是否链接它们,但据我所知,在SQL Developer中无法做到这一点。听起来你的.sql文件目前是主人,并且可能是源代码控制,这很好;但是,如果您从这个界面开始更改包裹代码,则需要注意这一点。