方法:ストアド プロシージャをデバッグする
Transact-SQL デバッガーでは、SQL ストアド プロシージャの SQL 呼び出し履歴、ローカル変数、およびパラメーターが表示され、ストアド プロシージャをインタラクティブにデバッグできます。 他のプログラミング言語でのデバッグと同様、Transact-SQL スクリプトのデバッグでも、ローカル変数とパラメーターの表示と修正、グローバル変数の表示、およびブレークポイントの制御と管理を行うことができます。
この例では、Transact-SQL ストアド プロシージャを作成し、ステップ インでデバッグする方法を示します。
Note
Transact-SQL デバッグは、Azure SQL Database や Azure SQL Managed Instance では使用できません。
ストアド プロシージャをデバッグするには
ソリューション エクスプローラーで 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 データベース ->[プログラミング] ->[ストアド プロシージャ] の順に選択して表示) を右クリックします。 [プロシージャのデバッグ...] をクリックします。オブジェクトにパラメーターが必要な場合には、 [プロシージャのデバッグ] ダイアログ ボックスに、各パラメーターの行を含むテーブルが表示されます。 テーブルの各行には、パラメーター名の列およびパラメーター値の列があります。 各パラメーターの値を入力して、[OK] をクリックします。
[ローカル] ウィンドウが開いていることを確認します。 開いていない場合は、 [デバッグ] メニューの [ウィンドウ] をポイントし、 [ローカル] をクリックします。
F11 キーを押して、ステップ インでクエリを実行します。 ストアド プロシージャのパラメーターとそれぞれの値が [ローカル] ウィンドウに表示されます。 または、
INSERT
句内の@name
パラメーターの上にマウス ポインターを移動すると、Contoso という値が割り当てられていることがわかります。テキスト ボックス内で Contoso という文字列をクリックします。 「Fabrikam」と入力して Enter キーを押すことにより、デバッグ中の
name
変数の値を変更します。 [ローカル] ウィンドウで値を変更することもできます。 パラメーターの値が赤色で表示されます。これは、変更があったことを示します。F10 キーを押して、残りのコードをステップ オーバーで実行します。
SQL Server オブジェクト エクスプローラーで、Product テーブルのデータ ビューに新しいコンテンツを表示するために、[TradeDev] データベース ノードを更新します。
SQL Server オブジェクト エクスプローラーの [ローカル] ノードの下で、TradeDev データベースの Product テーブルを探します。
Product テーブルを右クリックし、 [データの表示] をクリックします。 テーブルには、新しい行が追加されています。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示