1.包中定義的存儲過程,必須在包體中實現;但包體中實現的存儲過程在包中可以不定義;
2.存儲過程實現中,一旦有BEGIN...END pro_name;在BEGIN與END之間必須有代碼塊。
3.存儲過程實現中,如果過程沒有入參與出參列表,則直接寫過程名,沒有"()"
4.在包頭與包體中聲明中包括以下幾種定義:
包頭:
create or replace package test is
-- Author : ADMINISTRATOR
-- Created : 2012-5-22 15:02:04
-- Purpose :
-- Public type declarations
type <TypeName> is <Datatype>;
-- Public constant declarations
<ConstantName> constant <Datatype> := <Value>;
-- Public variable declarations
<VariableName> <Datatype>;
-- Public function and procedure declarations
function <FunctionName>(<Parameter> <Datatype>) return <Datatype>;
end test;
包體:
create or replace package body test is
-- Private type declarations
type <TypeName> is <Datatype>;
-- Private constant declarations
<ConstantName> constant <Datatype> := <Value>;
-- Private variable declarations
<VariableName> <Datatype>;
-- Function and procedure implementations
function <FunctionName>(<Parameter> <Datatype>) return <Datatype> is
<LocalVariable> <Datatype>;
begin
<Statement>;
return(<Result>);
end;
begin
-- Initialization
<Statement>;
end test;
以上語句是通過PL/SQL中圖形化界面創建包時,自動生成的,如果想對包定義有一個宏觀概念,參照以上代碼塊,實際上在以後編程中,都應該參照以上代碼塊編寫程序。