2014-03-24 29 views
3

我一直使用PL/SQL Developer和TOAD。由於SQL Developer提供的單元測試功能,我對使用此程序而非其他程序非常感興趣。但我有一個愚蠢的問題。問題是所有的包文件都存儲爲.SQL文件,如果我嘗試打開其中一個文件,SQL Developer將其打開爲SQL表。有沒有辦法將視圖更改爲PL/SQL視圖,以顯示調試選項和內容?如何以SQL Developer中的包文件的形式打開.sql文件?

+2

也許sql * devloper需要做的就是支持像vim這樣的模式行...... ie而不是「#vim:set expandtab:」have「--sql typetype = package」 – ShoeLace

回答

3

如果.sql文件中的包尚不存在,則可以從SQL Worksheet(使用「運行腳本」按鈕或使用F5)執行該腳本。

一旦包存在,您可以查看它;從左側的Connections窗格中展開當前連接以查看對象類型,然後展開'Packages',您將看到包名。雙擊打開包裝規格;並且在連接窗格中,您會看到展開以便您可以看到正文,您還可以雙擊查看(或者在規範視圖頂部有一個「開放式主體」按鈕)。這兩項的爲您提供了選項,但是執行過程/函數,調試它,或重新編譯調試等

enter image description here

,如果你通過這個接口更改包,這些更改將不會反映在您的.sql文件。我不知道PL/SQL Developer還是Toad鏈接它們,但據我所知在SQL Developer中沒有辦法做到這一點。這聽起來像你的.sql文件目前是主人,並且可能在源代碼控制下,這很好;但如果您開始從此界面更改軟件包代碼,則需要注意這一點。

+0

我害怕它不可能是用SQL Developer完成。我非常感謝你的努力,但這不是我的選擇。無論如何非常感謝你! – pablomatico

+0

Oracle在製作用戶界面時真的很糟糕。 – Roger

3

如果你打開一個.pks.pkb.pls.plb擴展名的文件,那麼你得到的調試器選項:

enter image description here

According to the documentation可以存儲過程鏈接到一個文件,但我我不完全清楚應該做什麼;如果我從.p*文件進行編譯,則會創建該對象,但如果從「連接」窗格中打開該對象,則更改仍不會反映在文件中。我不確定他們是什麼意思'基於文件的PL/SQL模塊'...

如果您的文件有一個.sql擴展名,並且不能改變(這是如果它在源代碼控制中可能)。您可以關聯的文件類型,但內置的那些不可編輯:

enter image description here

試圖重寫通過添加product-preferences.xmlextensionsToNodeTypes進入似乎並沒有做任何事情,並且可能不會如果支持,則支持。

所以,除非你能改變你的文件擴展名,否則我不認爲你可以做你正在嘗試的東西。

+0

我會試一試。非常感謝你!! – pablomatico