您好,登錄后才能下訂單哦!
一 包的組成
1)包頭(package):包頭部分申明包內(nèi)數(shù)據(jù)類型,常量,變量,游標,子程序和異常錯誤處理,
這些元素為包的公有元素。
2)包主體(package body):包主體則是包定義部分的具體實現(xiàn),它負責為包頭中所聲明子程序
提供具體的實現(xiàn),在包主體中還可以聲明包的私有元素
3)包頭和包主體分開編譯,并作為兩個分開的對象分別存放在數(shù)據(jù)庫字典中
--刪除package
--drop package pkg_lxg_test;
--1)首先創(chuàng)建package頭(頭和body的sql不要寫在同一個文件中執(zhí)行)
---- 這里可以聲明多個procedure(如果外部調(diào)用才聲明)
create or replace package pkg_lxg_test as
procedure deleteTask(taskTypeCode in varchar2, --任務(wù)類型代碼
businessKey in varchar2, --業(yè)務(wù)號
resultCode out varchar2, --結(jié)果代碼
resultMessage out varchar2 --結(jié)果信息
);
end pkg_lxg_test;
--)2 再創(chuàng)建package體(上面的頭不能和體一起執(zhí)行,移交時應(yīng)該寫成兩個sql文件進行移交)
--)3 創(chuàng)建完成后,如果創(chuàng)建成功了會自動編譯的
--)4 如果在創(chuàng)建package不成功的話,在查看和說明中可以查看到錯誤
--)5 package創(chuàng)建完成后,-->右鍵,查看--->然后選中你要測試的package中的proc點擊右鍵---》測試
CREATE OR REPLACE PACKAGE BODY NBADATA.pkg_lxg_test AS
function function2(taskTypeCode in varchar2,businessKey in varchar2) return varchar2
is
v_preview_environment varchar2(4);
v_voucher_no varchar2(50);
v_count number default 0;
begin
v_preview_environment:= '1';
--dbms_output.put_line('執(zhí)行了方法function2');
return v_preview_environment;
end function2;
--這里定義procedure,可以定點多個
procedure deleteTask(taskTypeCode in varchar2, --任務(wù)類型代碼
businessKey in varchar2, --業(yè)務(wù)號
resultCode out varchar2, --結(jié)果代碼
resultMessage out varchar2 --結(jié)果信息
) IS
begin
begin
resultCode := '0';
resultMessage := 'delete asynchrouns task sucess';
--dbms_output.put_line('成功執(zhí)行了存儲過程');
exception
when others then
resultCode := '1';
resultMessage := 'fail in deleting asynchrouns task sucess';
end;
end deleteTask;
end pkg_lxg_test;
/
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。