pl/sql developer中調試存儲過程

(1)在body裏設置斷點(在要設置斷點的行開始點擊鼠標左鍵就可以)。


(2)右鍵點擊TEST.


會出現如下TEST WINDOWS窗口


在下面紅圈中的位置value欄中輸入參數值,因爲varstr是輸入參數,所在要輸入一個值,但是io_cursor是輸入輸出參數,在此做爲輸出參數不預輸入值


(3) Debug-->Start.


如果上面操作步驟中在debug——start不能點擊是灰色的,則是因爲未給此用戶分配調的權限,

如果點擊執行的話則pl/sql developer 調試存儲過程報錯

note:debugging requires the debug connect session system privilege.

原因是用戶權限不夠,使用以下命令授予權限:

用sysdba角色的用戶名登錄,使用如下命令

GRANT debug any procedure, debug connect session TO username

(4)點擊紅色框的按鈕進行單步調試,自動會跳到存儲過程體內。


(5)把鼠標放到變量上可以顯示出該變量的值,。


也可以在變量外點擊鼠標右鏈選擇Add variable to Watches


此時會在下圖紅圈中列出該變量的值


點南上圖紅色粗線中的按鈕,彈出如下對話框顯示該變量值的詳細信息


下面是創建一個簡單存儲過程的例子

CREATE OR REPLACE PACKAGE u_pg_test   as
       TYPE t_cursor IS REF CURSOR ;
       Procedure u_sp_test(varStr varchar2, io_cursor IN OUT t_cursor);
END;

CREATE OR REPLACE PACKAGE BODY u_pg_test AS

Procedure u_sp_test(varStr varchar2, io_cursor IN OUT t_cursor) IS

    v_cursor t_cursor;
    varSql varchar2(666);

BEGIN
varSql:='Select * aa where ANAME='''||varStr||'''';

    OPEN v_cursor FOR varSql;

io_cursor := v_cursor;

END u_sp_test;

END u_pg_test;


http://hi.baidu.com/zhangxia6110/blog/item/98ffa499d1666e066f068c35.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章