方法/步驟
10年積累的成都網站制作、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有輝南免費網站建設讓你可以放心的選擇與我們合作。
首先在PL/SQL的左側資源欄中展開Procedures項(圖中位置1),然后再其上面的搜索框中(圖中位置2)輸入存過名稱的關鍵詞,按回車鍵搜索要調試的存過,不停的回車,直到找到想要調試的存過。
找到想要調試的存過,左鍵單擊選中該存過(圖中位置1),然后右鍵單擊該存過,從彈出菜單中選擇“Test”項(圖中位置2)。
單擊“Test”后,PL\SQL會打開調試界面,圖中位置1的按鈕就是開始調試的按鈕,在調試之前要填寫存過的參數,位置2就是填寫參數的地方,如果有多個參數,會有多行參數框,按參數名填寫相應的參數即可。
填寫完參數,單擊開始調試按鈕后,調試的界面會發生一些變化。圖中位置1的變化,說明存過已經處于執行狀態,別人不能再編譯或者執行。位置2的按鈕就是執行按鈕,單擊這個按鈕存過會執行完成或者遇到bug跳出,否則是不會停下來的,調試時不會用這個按鈕的。位置3的按鈕才是關鍵——單步執行,就是讓代碼一行一行的執行,位置4的按鈕是跳出單步執行,等待下一個指令。
單擊“單步執行”,存過開始單步執行。界面中每一次執行的代碼會高亮顯示(圖中位置1),如果想要看某個變量具體的值,就在位置2的地方輸入該變量名,然后變量的值會顯示在位置3的地方。
調試的時候,每一次單步執行的時候要記一下執行代碼的行數,圖中位置3的數字就是當前執行代碼的行數,就是第幾行。如果過程單步執行到某行后,再單步執行的時候,存過就退出,那么錯誤就在該行的下一行。
代碼執行到24行,在往下執行時,直接轉到exception的地方,也就是異常處理的部分。
這說明我們代碼中的錯誤在24和25行上,我們打開存過,瀏覽到24行和25行附近,發現25行和24行使用了兩個變量,記住那兩個變量。重新開始調試過程。
單步的執行時候把剛才那兩個變量名填寫到變量查看框,一邊觀察變量值變化,一邊單步執行,執行到24行的時候,發現一個變量已經有值了,而另一個變量的值為null。錯誤原因明朗了吧?就是變量沒有賦值或者初始話,給該變量賦值后存過就不報錯了。
今天在項目中遇到一個比較棘手的問題,需要用到觸發器。在編寫觸發器和調試過程中遇到下列問題,在此記錄一下:
由于之前寫的觸發器都能正常運行,就沒有涉及到觸發器的調試,今天發現觸發器沒起作用,需要調試,竟不知道在哪兒調試。在網上借鑒一些別人的經驗(),記錄一下。在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寫好的函數可以在SQL語句中直接調用,比如:你寫了一個TRIM函數,然后PB端的SQL中可以這樣調用:select col1,... from tab_name where trim(col1) =''; 進行存儲過程調用: PowerBuilder requires a declarative statement to identify the database stored procedure that is being used and a logical name that can be referenced in subsequent SQL statements. The general syntax for declaring a procedure is: DECLARE logical_procedure_name PROCEDURE FOR Oracle_procedure_name(:InParam1,:InParam2, ...) {USING transaction_object};
PL/SQL中為我們提供了調試存儲過程的功能 可以幫助你完成存儲過程的預編譯與測試
點擊要調試的存儲過程 右鍵選擇TEST
如果需要查看變量 當然調試都需要 在右鍵菜單中選擇Add debug information
start debugger(F )開始我們的測試 Run(Ctrl+R)
隨時在varible List中輸入我們想查看的變量
其它
Step into(Ctrl+N):單步調試 進入下一步
Step over(Ctrl+O) 結束該語句
Step out(Ctrl+T) 跳出該過程
Run to next exception 進入下一個斷點Breakpoint
lishixinzhi/Article/program/Oracle/201311/18320
oracle
函數調試怎么使用
看你的編譯器啊。
編譯器上面也有按鈕,可以選擇進入函數內部調試,或者是直接處理完成的。或者更簡單的就是,在函數內部也設置斷點就好了。
文章標題:oracle如何調試語句 oracle函數怎么調用
轉載來源:http://m.kartarina.com/article14/hgjjge.html
成都網站建設公司_創新互聯,為您提供網站制作、Google、網站建設、App開發、移動網站建設、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯