當前位置:首頁 » 存儲配置 » 如何斷點測試存儲過程

如何斷點測試存儲過程

發布時間: 2022-11-28 00:02:03

sqlserver存儲過程怎麼調試

SQL Server存儲過程相信大家都接觸過,下面就教您如何實現SQL Server存儲過程的單步調試,希望可以讓您對SQL Server存儲過程有更深的認識。
1)調試
在SQL Server的SQL Query Analyzer(查詢分析器)中,打開Object Brower(F8),在左邊的列表中選擇一資料庫,展開Stored Proceres,然後選擇要調試的存儲過程(或任意一個存儲過程),按右鍵,點擊「Debug」,則彈出Debug Procere對話框,顯示該存儲過程的參數(可在Proceres列表中選擇其他要調試的存儲過程),為參數輸入初始值,點擊「Execute」按鈕,進入Debug窗口;可使用上面一排按鈕或其對應的快捷鍵對該存儲過程進行「執行」「設斷點」「取消斷點」「單步跟蹤」等操作;窗口下方是參數列表,第一個是自定義參數變數列表,在Debug的過程中顯示全局變數和局部變數的值的變化,可對參數列表中該存儲過程的參數初值進行修改,再重新調試;第二個列表是系統變數,可自行增加,如添加「@@Error」「@@RowCount」,觀看其值的變化,其值不能手工修改。第三個列表是CallStack,暫時不知道怎麼用。在參數列表中,不能直接把User_Name()、GetDate()等函數直接放到參數列表中跟蹤,要把它們賦值予自定義變數進行查看。
大家可連接Pivot的SQL Server進行嘗試,使用本機DB系統如果不行,則需要用Administrator登錄本機,然後在企業管理器中,在本機的SQL Server Registration上點擊右鍵,點「屬性」,選擇「Security」,選擇「This account」,輸入Administrator和密碼,確定之。
2)SQL Server存儲過程單步調試
具體步驟如下:
1、將伺服器【身份驗證】屬性設置成【混合模式】(window與sql身份驗證)
2、在【控制面板】中打開【服務】將【MSSQLSERVER】服務打開【屬性】,選擇【登錄】頁面,將登錄身份設置成伺服器本地帳號和該帳號密碼,如administrator,密碼123;
3、重新啟動sqlserver服務,此時的服務指的是【SQL服務管理器】中的SQL SERVER服務;
假設【帳號】設置為administrator
此時達到的效果是:伺服器本地帳號administrator與客戶端上的administrator(並且該帳號的密碼要與伺服器密碼相同)可以通過【查詢分析器】進行調試;
如果想讓【其他帳號】也能夠調試,那麼還需要如下設置:
1、在【伺服器】上運行dcomcnfg.exe;
2、在【默認安全機制】中【默認訪問許可權】右邊點擊【編輯默認值】選擇允許調試的帳號類型,如users用戶類型,sample帳號有包含users組;
3、重新啟動sqlserver服務;
3、在客戶端上創建與服務帳號密碼一樣的用戶,如sample;
做到這步就可以通過查詢分析器的調試功能進行單步調試了

② 如何在ORACLE 存儲過程中設置回滾斷點

學習存儲過程中使用斷點回滾事務時,發現目前網路上存在一個問題,那就是使用斷點回滾後,都忘記了一個很重要的事情,提交事務。雖然使用了斷點回滾,但是斷點回滾不像rollBack或commit一樣結束當前事務,而使用斷點回滾只會回滾到聲明斷點的地方,之前的產生的事務仍需要提交的,如果不提交,事務一直在資料庫中緩存.
Demo:
procere doSomeThing(p_number out number) as
begin
insert into t_test_user_mingming(id,loginname,password,realname,type)
values(se_test_user_mingming_id.nextval,'xiaoming','1234','小明',1);
p_number := 1;
savepoint ps;--- 設置斷點 ps
insert into t_test_info_mingming(id,pal,type,create_time,note)
values(se_test_info_id.nextval,'我想買台thinkPad 可以俺莫有錢',1,sysdate,'ceshi');
p_number := 2;
savepoint sp;----設置斷點 sp
insert into t_test_agent(agent_id) values(1);---我這里此行會拋出異常 ORA-01400 可以替換為下句 手動拋出一個異常
-----RAISE_APPLICATION_ERROR (-20004,'拋出的異常玩玩');
commit;
exception --捕獲異常
when others then
rollback to ps; ---- 如果產生異常,回滾到斷點 ps
p_number :=0;
commit; --- 提交事務
end doSomeThing;
這里本人做了實驗,如果在異常中不加 commit 語句,使用PL/SQL測試時,異常在緩存,t_test_user_mingming 表中沒有數據記錄。

存儲過程里的事務操作:
create or replace procere pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)

temp varchar2(1000); /*定義臨時變數*/
is
begin

select code into p_count from table1 where a=p_a; /*查詢並返回值*/
temp := p_count; /*將返回值賦給臨時變數*/
savepoint point1; /*保存點*/

insert into table2(a,b)values(temp,p_b); /*將臨時變數值添加到新表的欄位*/

savepoint point2;

insert into

exception
when others then
rollback to savepoint point1; /*異常處理,保存點下面的操作都不會被執行*/
return;

end;

保存點(SAVEPOINT)是事務處理過程中的一個標志,與回滾命令(ROLLBACK)結合使用,主要的用途是允許用戶將某一段處理回滾而不必回滾整個事務。

如果定義了多個savepoint,當指定回滾到某個savepoint時,那麼回滾操作將回滾這個savepoint後面的所有操作(即使後面可能標記了N個savepoint)。
例如,在一段處理中定義了五個savepoint,從第三個savepoint回滾,後面的第四、第五個標記的操作都將被回滾,如果不使用ROLLBACK TO savepoint_name而使用ROLLBACK,將會滾整個事務處理。

③ oracle 存儲過程 斷點設置

plsql-->打開你的過程-->菜單欄的DEBUG-->添加斷點--->點擊過程文本框的左側,設置斷點-->右鍵點擊你的過程-->點擊測試--->F9

④ 在pl/sql中怎麼測試存儲過程

第一 create存儲過程,此處報錯,則是語法錯誤居多,需要根據情況修正語句。

第二 執行存儲過程,驗證執行結果,在Proceres包下 找到你自己創建的存儲過程,右鍵點擊測試按鈕,出現測試窗口

第一個綠色箭頭,意思直接跑起來,第二個進入男色方框,意思進入此模塊內,第三個跳出當前運行模塊,第四個跳轉入錯誤點。

多用第二個

⑤ 如何在pl/sql developer 7運行到oracle存儲過程設置斷點的地方

plsql-->打程-->菜單欄DEBUG-->添加斷點--->點擊程文本框左側設置斷點-->右鍵點擊程-->點擊測試--->F9

⑥ sqlserver存儲過程怎麼調試

最近在做vb項目的時候,用到了存儲過程的調試,現在總結一下發現單步調試存儲過程有以下2種方法:
1.這種方法自己已經做過,是可以的,如下:
a.如果目標資料庫存在存儲過程,右擊該存儲過程-修改,打開存儲過程,並在需要的地方設置斷點。(如果沒有自定義存儲過程,則需要在Sql Server 2012資料庫中創建存儲過程,完成後在裡面設置斷點);
b.另外開啟一個新建查詢窗口,寫入調用代碼:例如   exec BillManageInputProc '主單1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市場部','0' ,單擊 調試按鈕 啟動存儲過程的調試;
c.單擊 F 11 進行逐句調試。
2.在vs2010調試存儲過程步驟如下:
首先,打開vs,點擊 視圖-->伺服器資源管理器
http://www.cnblogs.com/caishiquan/p/4050237.html

⑦ sqlserver2014如何調試存儲過程

打斷點,然後選中你的存儲過程,右鍵,調試,然後輸入參數即可。

⑧ 如何調試存儲過程和package

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變數旁邊的按鈕).

⑨ 資料庫中的存儲過程能像程序中那樣進行斷點調試么怎樣調試

存儲過程肯定不能像程序中那樣進行斷點調試。比如mssql可以在存儲過程中間用print輸出變數值,在查詢分析器里執行並顯示,或者把中間值存到一個表中查看。方法很多的。

熱點內容
php比較時間大小 發布:2023-02-05 16:44:22 瀏覽:685
android查看源碼 發布:2023-02-05 16:44:05 瀏覽:882
迅雷雲播文件夾 發布:2023-02-05 16:42:09 瀏覽:826
ps存儲不了工作區怎麼回事 發布:2023-02-05 16:34:41 瀏覽:234
歡樂幣腳本 發布:2023-02-05 16:34:38 瀏覽:432
winform連接資料庫 發布:2023-02-05 16:29:54 瀏覽:582
c語言二維數組函數參數 發布:2023-02-05 16:29:02 瀏覽:259
session文件夾 發布:2023-02-05 16:25:38 瀏覽:595
王者榮耀安卓系統和蘋果系統互通在哪裡 發布:2023-02-05 16:22:21 瀏覽:798
安卓微信靜音了怎麼調出聲音 發布:2023-02-05 16:16:29 瀏覽:935