在包裡面建立儲存過程

2021-08-25 13:46:28 字數 948 閱讀 2122

create or replace package 包名 is

procedure p_rpt_d_ocbygcc(var_stattime in date);

procedure p_rpt_025(var_stattime in date);

end 包名;

首先是定義乙個包,並宣告包的內容是兩個儲存過程。下面是定義包體

create or replace package body 包名 is

procedure p_rpt_d_ocbygcc(var_stattime in date) is

vselectnum int;--可以宣告變數

begin

這個是正文

比如從乙個表抽取你想要的資料到另乙個表

insert into table1 select.....select是查詢符合條件的資料,這樣就把你要的資料插入另乙個表了。

exception 處理異常

when others then

--回滾事務

rollback;

raise;

end p_rpt_d_ocbygcc;

下面這個儲存過程是呼叫上面的儲存過程

procedure p_rpt_025(var_stattime in date) is

inowtime date;

begin

inowtime := var_stattime;

p_rpt_d_ocbygcc(var_stattime => inowtime);

commit;

exception

when others then

--回滾事務

rollback;

raise;

end p_rpt_025;

end inf_rpt_025;

這已經結束了,相信我們都會在包裡寫儲存過程了

在儲存過程裡面使用游標

使用游標的情景基本上是在迴圈臨時表裡面的記錄 宣告乙個游標 declare cursor1 cursor for select from temp1 開啟游標 open cursor1 把臨時表裡面值輸入到變數裡面 fetch next from cursor1 into bookid,price,...

Oracle建立儲存過程 建立函式 建立包

一 oracle建立儲存過程 1 基本語法 create orreplace procedureupdate emp sal name inout type,name inout type,is begin endupdate emp sal 2 寫乙個簡單的例子修改emp表的ename欄位 cre...

Oracle建立儲存過程 建立函式 建立包

一 oracle建立儲存過程 1 基本語法 create or replace procedure update emp sal name in out type,name in out type,is begin end update emp sal 2 寫乙個簡單的例子修改emp表的ename欄...