2011-02-11 32 views
0

我正在編譯用於Mac的SQL Developer中的存儲過程集合。代碼如下所示:爲什麼這是一個錯誤:「遇到符號」/「」?

// ... some other code .... 

END procedureX; 

END thePackageBodyName; 

/

show error 

grant execute on thePackageBodyName to anotherName; 

/

show error 

SQLDev報告錯誤「出現符號‘/’爲第一個斜槓如果我刪除了第一個斜槓,一切都在它下面,它成功地編譯:

// ... some other code .... 

END procedureX; 

END thePackageBodyName; 

爲什麼第一個斜線導致錯誤?

回答

3

/在SQL中使用* Plus的。既然你不能在SQL * Plus編譯,除去這些,一切應罰款。

更具體地說:/結束了一個可以是匿名的PL/SQL塊,或者引用一個包/過程/函數/ etc定義/聲明。斜槓告訴SQL * Plus將迄今爲止輸入的內容傳輸到服務器並進行編譯。所以,它不是PL/SQL語言的一部分,因此不需要。

我假定您已經將文件的內容導入或複製到SQL Developer中。因此,將其分解成斜槓之間的可編譯部分並編譯這些部分。

也許(並且這是因爲我不瞭解SQL Developer),有一個選項或者可能性來運行在SQL Developer中使用SQL * Plus創建的文件。

+0

+1:擊敗我吧。 PLSQLDeveloper現在必須有一個設置來接受角色? – 2011-02-11 00:20:57

相關問題