Oracle中 Package與Package bodies的介紹
阿新 • • 發佈:2019-01-27
1、Oracle Package的作用:
可以簡化應用設計、提高應用效能、實現資訊隱藏、子程式過載
2、ORACLE中的function 、package、package bodies、procedure的區別和相同:
function有返回值,有引數;procedure無返回值,有引數;package、package body是同時存在的,就像.h和.cpp檔案,如果要外部呼叫的,就在package裡宣告一下,包內呼叫的,只要在body裡寫就行了。package可包括function,procedure
3、在sqlserver中,直接寫個儲存過程就可以呼叫。但是在oracle中,我看好多資料上說要想呼叫儲存過程必須把儲存過程放進包中才能呼叫?是否是這樣?
不是,過程也可以單獨寫,單獨呼叫
4、packages 與 package bodies有什麼區別?
packages中只有各個方法的定義,bodies中涉及具體的實現
5、我在儲存過程就是procedures中寫了個儲存過程,再寫個包名包含進去嗎?還是可以直接在包中寫包名:再把想寫的儲存過程直接寫進包中就行啦呢?
不用
6、寫進包,要寫進哪個?packages 還是 package bodies
這兩個是一體的,必須同時存在
package body和package都需要手工去寫。
需要先建立package(也就是包的定義),再建立body。增加包中的過程或者修改包中過程的輸入引數個數等也是要先改package再改body。