PL/Sql 中創建、調試、調用存儲過程


 

存儲過程的詳細建立方法

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差了很多,結果集在一個很隱蔽的地方,如圖所示,點開即可



 

 

 

參考文章

pl/sql 創建並執行oralce存儲過程,並返回結果集

PL/Sql 中創建、調試、調用存儲過程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM