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