使用PACKAGE的一點經驗

westzq1984發表於2010-04-14

1.PACKAGE的宣告部分和BODY就像JAVA的介面的實現類,外部的物件是依賴以宣告,只要宣告部分不重新編譯,相關的物件就不會失效
2.只有在PACKAGE中,才能使用2個方法相互呼叫
3.PACKAGE中定義的變數在整個SESSION中都存在,可以方便的儲存值,可以結合表函式,實現對結果集的儲存和呼叫。但要注意記憶體開銷
4.PACKAGE中允許名相同而輸入變數不同的函式,也就是說類似於JAVA的過載
5.PACKAGE可以初始化賦值
6.如果在PACKAGE中定義一個表函式,那麼不能定義成私有的,否則自身無法呼叫,編譯無法通過
7.在BODY中使用集合型別最好使用INDEX BY這樣的,否則存在初始化的問題
8.在PACKAGE注意實現程式碼的複用,以提高以後PACKAGE的擴充套件性,特別是編寫工具類的PACKAGE
9.PACKAGE的編譯在執行者模式下要在宣告部分指定,動態執行某些語句,如alter session set current_schema在編譯者模式下有問題。不過,在執行者模式下,又要考慮許可權問題
10.Package anything except function for the index

建議讀讀mastering oracle pl/sql

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8242091/viewspace-659693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章