PL/SQL中為我們提供了【調試存儲過程】的功能,可以幫助你完成存儲過程的預編譯與測試。
成都創新互聯公司是一家專業提供蔡甸企業網站建設,專注與成都網站設計、成都網站制作、成都h5網站建設、小程序制作等業務。10年已為蔡甸眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
點擊要調試的存儲過程,右鍵選擇TEST
如果需要查看變量,當然調試都需要。在右鍵菜單中選擇Add
debug
information.
start
debugger(F9)開始我們的測試,Run(Ctrl+R)
隨時在varible
List中輸入我們想查看的變量
其它:
Step
into(Ctrl+N):單步調試,進入下一步
Step
over(Ctrl+O):結束該語句
Step
out(Ctrl+T):跳出該過程
Run
to
next
exception:進入下一個斷點Breakpoint
Toggle
Breakpoint設置斷點:光標指向一行,Ctrl+B;或鼠標點中該行的行號邊緣
======================================
1.在要調試的過程上單擊
test
,如下圖所示:
2.出現如下界面時單擊最左上方的按鈕,如下圖所示:
3.單擊后呈現如下畫面:
其中:表示要停止test;表示要全部運行完這個過程。單擊它后你就不能單步調試了。
單步調試。單擊它后可以像在exlipse或者visal
stidio里面一樣對程序進行單步調試了。
4.單擊“單步調試”按鈕。出現如下畫面:
這個時候表示你進入了調試狀態,你可以單擊上面說的任何按鈕來控制程序,如下:
表示要停止test,不再調試了;表示要全部運行完這個過程,不再進行單步調試了。
單步調試,表示要一步一步的調試這個程序要想單步調試這個程序,只需要你用鼠標左鍵連續單擊這個按鈕即可。
5.斷點的使用。
可以使用斷點,方法是在文本區域最左側的邊框進行左鍵單擊,如下:
這個時候單擊:這個按鈕,就可以直接運行到這個位置了,示意圖如下:
這個時候再單擊,進行一步步的調試。
注意:當你忘記了設置斷點,而進入一個非常大的循環時,沒有關系,你可以打開這個過程在相應處設置斷點,然后單擊就可以了。步驟如下:
a.忘了設斷點了,但是我進入了非常大的循環單步調試很難退出時:這個時候需要打開這個過程,如下:
b.你需要設置斷點的地方左鍵單擊即可,如下圖:
c.單擊就直接運行到你設置的這個斷點的地方了。
5.對監控窗口的使用:
這個窗口可以把你要監視的變量進行顯示,你把你需要監視的變量復制到這個窗口就可以了。這個窗口在調試界面的最下方,如下示:
這個sql_str
就是要被監視的對象。
6.繼續單步調試:可以看到,這個變量被賦值了。如下圖所示:
把它復制出來,在新建的slq
window里運行,就可以看到執行結果了。如下圖所示:
7.分析每一步的執行結果。
8.繼續單步運行,繼續分析,直到知道為什么沒有產生想要的結果為止。
1.打開PL/SQL
Developer
如果在機器上安裝了PL/SQL
Developer的話,打開PL/SQL
Developer界面
輸入用戶名,密碼和host名字,這個跟在程序中web.config中配置的完全相同,點擊確定
找到需要調試的存儲過程所在的包(Package
bodies),如PACK_ACTIVITY,點擊右鍵,在彈出菜單中選擇[查看],得到包中的所有存儲過程和他們的代碼.
2.添加debug信息
為了能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點擊需要調試的包,在彈出菜單中選中[添加調試信息].
這樣就為包體添加了調試信息。
3.調試存儲過程
現在所有的準備工作都做好了,可以調試跟蹤存儲過程了。
選擇需要調試的存儲過程,點擊右鍵,在彈出菜單中選擇[測試],進去測試窗口.
測試窗口中有為了測試該存儲過程自動所產生的代碼,當然你也可以自己另外加入和修改代碼,對于我們目前只是為了調試存儲過程,自動生成的代碼已經足夠了。接著按照如下的步驟進行調試。
(1)添加存儲過程所需要的參數,我們項目中的大多數存儲過程都是需要參數的,參數可以在測試窗口右下部分輸入。
如:GetPanNO_New需要一個輸入參數v_employeeid,我們輸入180,輸出參數是mycursor,是查看結果的,不需要輸入任何值。
(2)開始調試,點擊[調試]菜單-[開始](或者按F9),就進去調試模式了,程序開始停在begin這一行.
(3)以后的調試過程跟我們熟悉的的調試過程就一樣了:
運行(Ctrl+R)
單步進入(Ctrl+N)
單步跳過(Ctrl+O)
單步退出(Ctrl+T)
或者點擊debug工具條上的按扭:
當按Ctrl+N進去存儲過程的源代碼中后
在這個窗口中可以查看過程中的變量值和堆棧。
(4)調試運行完了后,可以查看結果如下(點擊mycursor變量旁邊的按鈕).
今天在項目中遇到一個比較棘手的問題,需要用到觸發器。在編寫觸發器和調試過程中遇到下列問題,在此記錄一下:
由于之前寫的觸發器都能正常運行,就沒有涉及到觸發器的調試,今天發現觸發器沒起作用,需要調試,竟不知道在哪兒調試。在網上借鑒一些別人的經驗(),記錄一下。在PL/SQL中,觸發器的調試方法如下:
1,選中要調試的觸發器,右擊,然后勾選 Add debug information,只有勾選這個按鈕后,調試才能進入到斷點。
2,選中觸發器,點擊 Edit,到Edit 界面,在要調試的行號前面單擊,或者右鍵,添加斷點。
3,在菜單的新建中選擇“測試窗口”,打開一個如下塊,在begin和end中間添加能觸發觸發器的語句
4,按F9或者點擊調試菜單中的開始菜單,進入運行調試狀態(后面的紅框是單步進入)
5,點擊運行圖標跳到觸發器中斷點位置
6,鼠標放到變量上可以顯示變量值。
7,如果有異常,就彈出相關異常信息。
調試的時候發現new對象的日期格式為中文,而后面又需要yyyy-mm-dd 的格式來作為查詢條件。所以就在賦值的時候轉換一下。
在select into 給變量賦值的時候,select 查詢出來的集合為空,導致報錯ORA-01403,解決方案就是將這一段用begin end 包裹起來,拋出改異常的時候給變量一個默認值。如下圖:
標題名稱:oracle怎么進行調試 oracle函數調用
網頁路徑:http://www.yijiale78.com/article30/hhscso.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、品牌網站建設、做網站、微信公眾號、網站導航、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯