先修改包頭,加入存儲(chǔ)過(guò)程聲明,然后再在包體中增加即可!
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出合陽(yáng)免費(fèi)做網(wǎng)站回饋大家。
select text from dba_source where owner='xxx' and name='包名' and type='PACKAGE BODY'
order by line asc
沒(méi)這么寫(xiě)過(guò),既然能授權(quán)還不如,直接用授權(quán)的用戶改呢,反正不可能總改,如果要授權(quán)給別人改想控制權(quán)限,那么建議你試試replace on package,因?yàn)槲覀兠看涡薷囊粋€(gè)package其實(shí)都是replace一次。
不過(guò)從來(lái)沒(méi)這么授權(quán)過(guò),行不行不確定,要試試,你可以查查dba_sys_privs表,看看哪個(gè)授權(quán)能滿足你的需要。
得看你包里的A表,調(diào)用的時(shí)候,是怎樣調(diào)用的。
如果包里對(duì)表操作的時(shí)候,比如說(shuō):insert into A (字段1,字段2) values(值1,值2);
這樣包就不會(huì)失效;
如果是insert into A values(值1,值2),這樣的話,增加完表A的字段,如果不修改包的話,就會(huì)出錯(cuò)
用pl/sql developer 或者 oracle sql developer等可視化的工具,打開(kāi)包編輯,然后再編譯;很方便。
1、首先打開(kāi)電腦,點(diǎn)擊進(jìn)入瀏覽器。
2、其次點(diǎn)擊搜索oracle,選擇第一個(gè)進(jìn)入,點(diǎn)擊選擇數(shù)據(jù)化,選擇復(fù)制的包,點(diǎn)擊使用。
3、最后點(diǎn)擊確認(rèn)即可。
在存儲(chǔ)過(guò)程或函數(shù)里調(diào)用oracle包的話,首先要有執(zhí)行這個(gè)包的權(quán)限;如果包屬于其他的用戶(不是系統(tǒng)包),調(diào)用時(shí):用戶名.包名.存儲(chǔ)過(guò)程(參數(shù))名或者
變量:=用戶名.包名.函數(shù)(參數(shù));因?yàn)楹瘮?shù)有返回值,變量類型要跟函數(shù)返回值的類型一致。
在command
下調(diào)用的話:exec
用戶名.包名.存儲(chǔ)過(guò)程名(參數(shù));select
用戶名.包名.函數(shù)名(參數(shù))
from
dual;就可以了。包屬于當(dāng)期用戶可以不寫(xiě)用戶名。