1、Oracle Package的作用:
可以簡(jiǎn)化應(yīng)用設(shè)計(jì)、提高應(yīng)用性能、實(shí)現(xiàn)信息隱藏、子程序重載
2、Oracle中的function 、package、package bodies、procedure的區(qū)別和相同:-
function有返回值,有參數(shù);procedure無(wú)返回值,有參數(shù);package、package body是同時(shí)存在的,就像.h和.cpp文件,如果要外部調(diào)用的,就在package里聲明一下,包內(nèi)調(diào)用的,只要在body里寫就行了。package可包括function,procedure
3、在sqlserver中,直接寫個(gè)存儲(chǔ)過(guò)程就可以調(diào)用。但是在Oracle中,我看好多資料上說(shuō)要想調(diào)用存儲(chǔ)過(guò)程必須把存儲(chǔ)過(guò)程放進(jìn)包中才能調(diào)用?是否是這樣?
不是,過(guò)程也可以單獨(dú)寫,單獨(dú)調(diào)用
4、packages 與 package bodies有什么區(qū)別?
packages中只有各個(gè)方法的定義,bodies中涉及具體的實(shí)現(xiàn)
5、我在存儲(chǔ)過(guò)程就是procedures中寫了個(gè)存儲(chǔ)過(guò)程,再寫個(gè)包名包含進(jìn)去嗎?還是可以直接在包中寫包名:再把想寫的存儲(chǔ)過(guò)程直接寫進(jìn)包中就行啦呢?
不用
6、寫進(jìn)包,要寫進(jìn)哪個(gè)?packages 還是 package bodies
這兩個(gè)是一體的,必須同時(shí)存在
package body和package都需要手工去寫。
需要先創(chuàng)建package(也就是包的定義),再創(chuàng)建body。增加包中的過(guò)程或者修改包中過(guò)程的輸入?yún)?shù)個(gè)數(shù)等也是要先改package再改body。
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|