存儲過程的詳細建立方法
1.先建存儲過程
左邊的瀏覽窗口選擇 procedures ,會列出所有的存儲過程,右擊文件夾procedures單擊菜單“new",彈出 template wizard窗口.
name框中輸入 GetSumAndSub ,
parameters中填入: p1 in number , p2 in number ,m out number , b out number 。
單擊ok,右邊出現建立存儲過程的代碼窗口。其中內容為創建存儲過程的語句。
在begin end 之間輸入具體內容,最后如下;
create or replace procedure GetSumAndSub(p1 in number , p2 in number ,m out number , b out number) is begin m := p1+p2 ; b := p1-p2 ; end GetSumAndSub;
功能:求和與差
原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number)
參數:m=p1+p2 b=p1-p2
單擊“保存”按鈕,可將創建存儲過程的sql語句保存在文件中,作備分之用^_^。
接着要做的就是 執行此sql語句來創建存儲過程。方法為:
找到工具欄上的“齒輪”圖標,鼠標放上面會顯示 ‘EXECUTE(F8)',單擊之。存儲過程此時已經建立完畢。可為什么我在右邊的procedures文件夾下看不到此存儲過程?刷新一下ok~
2. 測試、調試存儲過程
在左邊的瀏覽窗口選中 Procedure_HP_HWLP_Select_Test 該存儲過程,右擊選菜單“TEST‘,右邊會出現新的測試窗口。
說明:在測試窗口的下面你可以看到有一個參數列表,作輸入參數值和查看out型參數值用。
在調試代碼上方有個工具條:
第一個放大鏡形(start debugger),開始調試。
第二個綠色三角形(run),執行。
第三個step into ,單步調試。
進入調試代碼窗口后,可隨意設置斷點,方法就不用說了吧~
a 我們要在參數窗口中輸入 兩個參數值, p1為6,p2為4, m跟b不用填。
b 點擊start debugger,進入存儲過程的代碼窗口
c 點擊step into ,將鼠標放在變量符號上可查看變量值
d 繼續點擊step into 直到單步運行完畢。此時會返回測試窗口。
e 查看參數列表,驗證m,b值為8,4。
在測試窗口點擊保存,可保存測試代碼。以后重新打開時,你原先輸入的那些參數值會保存在其中,免得每次測試都要重新輸參數值。
對於返回類型為游標的參數,數據不會直接顯示,在列表的參數值框右邊會有一個按扭,點擊之,會彈出一個
3、Oracle中調用存儲過程
DECLARE p1 VARCHAR2(100); p2 VARCHAR2(100); p3 VARCHAR2(100); BEGIN p1:='dd'; p2:='3'; testprocedure(p1,p2,''); END;
具體案例
只需要定義一個結果集,把東西存到結果集中就結束(這個結果集叫做游標),先創建存儲過程:
create or replace procedure Demo(data out sys_refcursor) is begin open data for select * from gsminfo; end Demo;
然后直接執行就OK ,執行的方法如下:
找到存儲過程,右鍵,選擇測試:
然后出現的頁面,再選擇點擊運行:
然后直接看結果集就可以了,注意了,oracle pl/sql這個工具,存儲過程的結果集做的很不人性化,比起sql server差了很多,結果集在一個很隱蔽的地方,如圖所示,點開即可
參考文章