我們要走的路,有著太多的不確定,他人的一句勸誡,自己的一個閃念,偶爾的得與失,都時刻在改變著我們命運的走向。世事難以預料,遇事無須太執,誰都無法帶走什麼,又何必糾結於某一人、某一時、某一事。只有看開了,想通了,才能隨緣、隨性、隨心而為,不急不躁,不悲不歡,不鹹不淡。
本處以調試函數為例,其他的調試與此相同
1.調試位置
通常情況下,要在pl/sql Dev中偵錯工具有兩個地方:
1).建立->測試視窗:
2).在要調試的程式上點擊右鍵->測試
2.調試過程
1).通過調試位置進入測試視窗,如:
其中:點擊1位置(或者按F9)進入調試器,2位置顯示的是程式所聲明的輸入輸出參數,如果是輸入參數,需要在此處填入相應的輸入值,輸出參數會在執行調試完後顯示。
2).按F9進入開始調製器,:
其中:1----中斷調試,2----單步調試,簡單點就是一步一步的執行;綠色的箭頭表示全部運行完這個程式,如果有斷點設定,也可以跳入到下一個斷點。
3).單擊單步調試,進入函數,
在此,可以嘗試單步調試,一步一步運行程式
4).設定斷點,
在文本地區最左側的邊框進行左鍵單擊,如果有行號顯示,也就是行號所在的位置,
點擊綠色的箭頭,可以直接運行到設定斷點處
5).對變數進行監控,
1位置為監控視窗,這個視窗可以把你要監視的變數進行顯示,你把你需要監視的變數複製到這個視窗就可以了,也可以在變數上單擊右鍵->添加變數到監視器(位置2)。
繼續逐步執行,可以看到監控變數(位置3)值的變化。
3.許可權問題(ORA-0131)
1)偵錯工具時,報錯為ORA-0131:Insufficient privileges,
原因是使用者權限不夠,是缺失 DEBUG CONNECT SESSION 系統許可權所致
2)解決辦法:以SYS使用者登入資料庫,執行賦權操作:
1 SQL> grant DEBUG CONNECT SESSION to user_name;
註明:1.有網友指出還需賦予DEBUG ANY PROCEDURE的許可權,經測試,該許可權可不用賦予!
2.可以從資料字典session_privs表查看該許可權相關資訊(需要以user_name登入):
1 SQL>conn scott/tiger; 2 SQL> select * from session_privs; 3 PRIVILEGE 4 ---------------------------------------- 5 CREATE SESSION 6 UNLIMITED TABLESPACE 7 CREATE TABLE 8 CREATE CLUSTER 9 CREATE SEQUENCE10 CREATE PROCEDURE11 CREATE TRIGGER12 CREATE TYPE13 CREATE OPERATOR14 CREATE INDEXTYPE15 DEBUG CONNECT SESSION16 DEBUG ANY PROCEDURE17 12 rows selected
本處以調試函數為例,其他的調試與此相同
1.調試位置
通常情況下,要在pl/sql Dev中偵錯工具有兩個地方:
1).建立->測試視窗:
2).在要調試的程式上點擊右鍵->測試
2.調試過程
1).通過調試位置進入測試視窗,如:
其中:點擊1位置(或者按F9)進入調試器,2位置顯示的是程式所聲明的輸入輸出參數,如果是輸入參數,需要在此處填入相應的輸入值,輸出參數會在執行調試完後顯示。
2).按F9進入開始調製器,:
其中:1----中斷調試,2----單步調試,簡單點就是一步一步的執行;綠色的箭頭表示全部運行完這個程式,如果有斷點設定,也可以跳入到下一個斷點。
3).單擊單步調試,進入函數,
在此,可以嘗試單步調試,一步一步運行程式
4).設定斷點,
在文本地區最左側的邊框進行左鍵單擊,如果有行號顯示,也就是行號所在的位置,
點擊綠色的箭頭,可以直接運行到設定斷點處
5).對變數進行監控,
1位置為監控視窗,這個視窗可以把你要監視的變數進行顯示,你把你需要監視的變數複製到這個視窗就可以了,也可以在變數上單擊右鍵->添加變數到監視器(位置2)。
繼續逐步執行,可以看到監控變數(位置3)值的變化。
3.許可權問題(ORA-0131)
1)偵錯工具時,報錯為ORA-0131:Insufficient privileges,
原因是使用者權限不夠,是缺失 DEBUG CONNECT SESSION 系統許可權所致
2)解決辦法:以SYS使用者登入資料庫,執行賦權操作:
1 SQL> grant DEBUG CONNECT SESSION to user_name;
註明:1.有網友指出還需賦予DEBUG ANY PROCEDURE的許可權,經測試,該許可權可不用賦予!
2.可以從資料字典session_privs表查看該許可權相關資訊(需要以user_name登入):
1 SQL>conn scott/tiger; 2 SQL> select * from session_privs; 3 PRIVILEGE 4 ---------------------------------------- 5 CREATE SESSION 6 UNLIMITED TABLESPACE 7 CREATE TABLE 8 CREATE CLUSTER 9 CREATE SEQUENCE10 CREATE PROCEDURE11 CREATE TRIGGER12 CREATE TYPE13 CREATE OPERATOR14 CREATE INDEXTYPE15 DEBUG CONNECT SESSION16 DEBUG ANY PROCEDURE17 12 rows selected