[20190118]toad下如何除錯儲存過程和函式.txt

lfree發表於2019-01-18

[20190118]toad下如何除錯儲存過程和函式.txt


--//工作需要,需要使用toad除錯儲存過程和函式,自己以前從來沒有除錯儲存過程和函式的經驗,少數的幾次還是使用PLSQL develop,

--//使用PLSQL develop很簡單,右鍵選擇test,然後輸入引數基本就可以了。

--//自己開始試驗幾次還是不行,google或者百度找到國內的貼子實際上講解的都非常不清楚。終於找到一個連結:

--//https://blog.toadworld.com/2018/08/16/debugging-pl/sql-code-with-toad-for-oracle

--//上面有圖,不過我自己還是費了一點點時間才摸索出來。


1.環境:

SCOTT@test01p> @ ver1

PORT_STRING          VERSION    BANNER                                                                       CON_ID

-------------------- ---------- ---------------------------------------------------------------------------- ------

IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production      0


--//toad 版本11.6.0.43.

2.建立如下指令碼:

CREATE OR REPLACE FUNCTION SCOTT.get_dept (p_deptno dept.deptno%TYPE)

   RETURN dept.dname%TYPE

   DETERMINISTIC

IS

   l_dname   dept.dname%TYPE;

BEGIN

   DBMS_LOCK.sleep (1);


   SELECT dname

     INTO l_dname

     FROM dept

    WHERE deptno = p_deptno;


   RETURN l_dname;

END;

/


--//並且將指令碼複製貼上進入,或者在schema browser介面上雙擊,匯入編輯器中。

--//在data grid,query view的顯示條上右擊選上navigator,breakpints,watches.


3.選擇選單上Debug->trace in,然後出現一個提示:

DO you want to compile referenced objects with 

debug information? this processes can take several 

seconds. 


--//選擇Yes。然後出現set parameters and Execute視窗,輸入除錯引數。比如我的測試例子P_DEPTNO=20,然後選擇EXECUTE。

--//後面的步驟就簡單了,可以選擇step over,trace in,trace out,run to cursor等等。

--//可以在breakpoints下設定斷點。

--//在watches上檢視一些變數值,簡單一點選上Enable Smart Watches.


4.我感覺自己開始找不到可能受PLSQL develop的影響.

--//它右擊選擇test,出現的內容如下:

begin

  -- Call the function

  :result := get_dept(p_deptno => :p_deptno);

end;


5.順便貼一個圖.

[20190118]toad下如何除錯儲存過程和函式.txt snap.jpg




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2564091/,如需轉載,請註明出處,否則將追究法律責任。

相關文章