如何:針對預存程序進行偵錯
Transact-SQL 偵錯工具可讓您顯示 SQL 預存程序的 SQL 呼叫堆疊、區域變數和參數,以互動方式對預存程序進行偵錯。 一如在其他程式設計語言中執行偵錯,您可以在對 Transact-SQL 指令碼進行偵錯時,檢視及修改區域變數和參數、檢視全域變數,以及控制和管理中斷點。
此範例逐步示範如何建立 Transact-SQL 預存程序及如何對這些預存程序進行偵錯。
注意
Transact-SQL 偵錯不適用於 Azure SQL Database 或 Azure SQL 受控執行個體。
若要偵錯預存程序
以滑鼠右鍵按一下 [方案總管] 中的 [TradeDev] 專案,再依序選取 [加入] 和 [預存程序]。 將這個新的預存程序命名為 AddProduct,然後按一下 [加入]。
將下列程式碼貼入預存程序。
CREATE PROCEDURE [dbo].[AddProduct] @id int, @name nvarchar(128) AS INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name)
按 F5 建置並部署專案。
在 SQL Server 物件總管中,以滑鼠右鍵按一下 [本機] 節點底下的 [TradeDev] 資料庫,再選取 [新增查詢]。
將下列程式碼貼入查詢視窗。
EXEC [dbo].[AddProduct] 50, N'Contoso'; GO
按一下左方視窗邊界,將中斷點加入至
EXEC
陳述式。在 Transact-SQL 編輯器工具列上,按綠色箭頭按鈕上的下拉箭頭,然後選取 [使用偵錯工具執行],以在偵錯模式下執行查詢。
或者,您可以從 SQL Server 物件總管開始偵錯。 請在 AddProduct 預存程序 (位於 [本機] ->TradeDev database -> [可程式性] -> [預存程序] 之下) 上按一下滑鼠右鍵。 選取 [偵錯程序...]。如果物件需要參數,便會出現 [偵錯程序] 對話方塊,內有每個參數各佔一列的表格。 資料表中的每列均有一欄參數名稱,以及一欄該參數的值。 請輸入每一個參數的值,然後按一下 [確定]。
確認 [區域變數] 視窗已開啟。 如果未開啟,請按一下 [偵錯] 功能表,然後依序選取 [視窗] 和 [區域變數]。
按 F11 逐步執行查詢。 請注意,預存程序的參數及各自的值會顯示在 [區域變數] 視窗中。 或者,將滑鼠停留在
INSERT
子句的@name
參數上,您也會看到指派給這個參數的 Contoso 值。按一下文字方塊中的 [Contoso]。 輸入 Fabrikam 並按 ENTER,變更偵錯時
name
變數的值。 您也可以在 [區域變數] 視窗中變更其值。 請注意,參數的值現在以紅色顯示,代表它已變更。按 F10 不進入其餘的程式碼。
在 SQL Server 物件總管中,重新整理 [TradeDev] 資料庫節點,以便在 [Product] 資料表的資料檢視下查看新內容。
在 SQL Server 物件總管中的 [本機] 節點底下,找到 [TradeDev] 資料庫的 [Product] 資料表。
以滑鼠右鍵按一下 [Product] 資料表,再選取 [檢視資料]。 請注意,新的資料列已經加入至資料表。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應