pl/sql

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、松桃網(wǎng)站維護(hù)、網(wǎng)站推廣。
里面定義的包在調(diào)用的時候使用exec
命令調(diào)用,例如:exec
package_name.過程名()
過程名():包體里面定義的公用過程。
不知道我的回答你清楚了嗎?
pl/sql里,select
語句必須接into
,不接into那就得返回一個游標(biāo)出去,比如
create
or
replace
package
test_package
is
procedure
query_test(num
number,po_cursor
out
sys_refcursor);
end
test_package;
create
or
replace
package
body
test_package
is
procedure
query_test(num
number,po_cursor
out
sys_refcursor)
is
begin
select
unitname,tradetype,workernumber
from
test
where
income=num;
end
query_test;
end
test_package;
包只是作為 程序的一個載體而已,你要運行,當(dāng)然是去調(diào)用它!
包里面可以包含函數(shù)、過程等,你可以開發(fā)程序時候調(diào)用包里面的這些程序!沒有聽說過包怎么運行的道理!
就像電視機(jī)(包)可以用來看電視,但是你不去打開它(調(diào)用包),它就沒有作用!
樓下的明顯誤導(dǎo)別人啊,包何來參數(shù)之說?只有包里面的程序才有參數(shù),調(diào)用包里面過程的方法如下:
begin
exec 包名.過程名();
end;
函數(shù)的調(diào)用就不用我寫了吧!
包用于在邏輯上組合過程和函數(shù),它由包規(guī)范和包體兩部分組成
1.創(chuàng)建包
--創(chuàng)建一個包sp_package
create package sp_package is
--聲明該包有一個過程和函數(shù),(沒有實現(xiàn))
procedure update_sal(name varchar2,newsal number);
function annual_nicome(name varchar2) return number;
end;
--創(chuàng)建包體(用于實現(xiàn)已經(jīng)聲明的函數(shù)和過程)
create package body sp_package is
procedure update_sal(name varchar2,newsal number)
is
BEGIN
UPDATE emp
SET sal = newsal
WHERE ename = name;
END;
function annual_income(name varchar2)
return number is
annual_salary number;
BEGIN
SELECT sal * 12 + Nvl(comm,0)
INTO annual_salary
FROM emp
WHERE ename = name;
RETURN annual_salary;
END;
end;
--調(diào)用包中的內(nèi)容
exec sp_package.update_sal('name',number);
視圖中不能使用存儲過程。
只能使用簡單(單值)的函數(shù);
如果你只是調(diào)用package中的函數(shù),應(yīng)該可以;
否則不可以。
網(wǎng)站欄目:oracle怎么調(diào)用包體 oracle編譯包體
網(wǎng)站鏈接:http://chinadenli.net/article26/hghhcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站排名、電子商務(wù)、ChatGPT、App開發(fā)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)