逐步解說:偵錯 T-SQL 預存程序
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
||||
Standard 版 |
||||
Pro/Team 版 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
這個範例示範了如何使用「直接資料庫偵錯」建立和偵錯 T-SQL 預存程序,也就是說,使用 [伺服器總管] 逐步執行該預存程序。同時說明不同的偵錯技術,例如設定中斷點、檢視資料項目等等。
注意事項: |
---|
您所看見的對話方塊與功能表命令可能會與 [說明] 中所描述的有所不同,視您所使用的設定或版本而定。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要偵錯 T-SQL 預存程序
在新的 SQL Server 專案中,建立與 [AdventureWorks] 範例資料庫的連線。如需詳細資訊,請參閱 HOW TO:連接資料庫。
使用下列第一個範例區段的程式碼建立新的預存程序,並將其命名為 HelloWorld。如需詳細資訊,請參閱 HOW TO:使用 SQL Server 專案類型開發。
在 HelloWorld 中設定中斷點,並且逐步執行至預存程序。如需詳細資訊,請參閱 HOW TO:使用伺服器總管逐步執行物件。以黃色箭頭表示的指令指標將會出現在 SET @mynvarchar = @@VERSION 行上,也就是預存程序中第一個可執行的程式碼行。
嘗試不同的偵錯功能。
讓 [區域變數] 視窗成為可見。若要這麼做,請在 [偵錯] 功能表上,按一下 [視窗],然後再按一下 [區域變數]。請注意,參數和區域變數以及它們的對應數值都會顯示在 [區域變數] 視窗。當預存程序執行時,您可在 [區域變數] 視窗內編輯變數值。如需詳細資訊,請參閱 HOW TO:使用偵錯工具變數視窗。
注意:伺服器可能不會反映偵錯工具視窗內的變數值變更。如需詳細資訊,請參閱 SQL 偵錯限制。
按 F10 可逐步執行預存程序中的一行。請注意變數 @mynvarchar 的值已在 [區域變數] 視窗中有所變更,並且其值現在以紅色顯示,代表它已變更。
讓 [監看式] 視窗成為可見。若要這麼做,請在 [偵錯] 功能表上,按一下 [視窗],然後再選擇 [監看式]。如需詳細資訊,請參閱 HOW TO:使用偵錯工具變數視窗。
在 [文字編輯器] 內,按兩下 @mynvarchar 變數來選取它。將 @mynvarchar 拖曳至 [監看式] 視窗中的任何位置。該變數現在將加入被監看變數的清單內。
注意:您也可在 [監看式] 視窗內編輯變數的值。
在 [文字編輯器] 中,以滑鼠右鍵按一下 Return (0) 那一行,並按一下快速鍵功能表中的 [插入中斷點]。
在 [偵錯] 功能表上按一下 [繼續]。
再次選擇 [繼續],以完成預存程序的偵錯。
注意:您可以逐步執行至 AdventureWorks 資料庫中的任何一個預存程序,這些程序顯示在與其產生關聯的 [預存程序] 節點下。
範例
下列是預存程序的程式碼。
CREATE PROCEDURE HelloWorld
AS
DECLARE @mynvarchar NVARCHAR(50),
@myfloat FLOAT
SET @mynvarchar = @@VERSION
SET @mynvarchar = 'Hello, world!'
SET @myfloat = 1.6180
PRINT @mynvarchar
RETURN (0)