Microsoft SQL Server Management Stadioでストアドプロシージャのデバッグを行うことができる。
手順は以下の通り。
1.ストアドを実行するドライバを作成する
(デバッグしたいストアドの「ストアドプロシージャをスクリプト化」→「Execute」→「新しいクエリエディタウインドウ」)
2.メニューバーの「デバッグ」→「デバッグの開始」で1で作成したドライバに対しデバッグを開始する
3.F11キーの「ステップイン」で進めていくとストアドプロシージャの中までデバッグできる
(F10キーの「ステップオーバー」だと関数やストアドの中までデバッグしない)
ドライバのサンプル
USE [test_Db] GO DECLARE @return_value int EXEC @return_value = [dbo].[sp_item_update] @Pa_syain_cd = N'010' SELECT 'Return Value' = @return_value GO
デバッグ対象のストアドのサンプル
Alter PROCEDURE sp_item_update @Pa_syain_cd char(10) AS BEGIN --変数の定義 DECLARE @WK_syain_cd char(10) --カーソルの定義 DECLARE curItem CURSOR FOR SELECT syain_cd FROM buy_Item WHERE syain_cd > @Pa_syain_cd --メイン処理 OPEN curItem FETCH NEXT FROM curItem INTO @WK_syain_cd --カーソルの終端までループ WHILE @@FETCH_STATUS = 0 BEGIN UPDATE buy_Item SET syain_cd = RTRIM(@WK_syain_cd) WHERE syain_cd = @WK_syain_cd FETCH NEXT FROM curItem INTO @WK_syain_cd END --カーソル終了 CLOSE curItem END
動作確認環境:SQL Server 2008 Express