このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
トリガーをデバッグするには、トリガーを起動するストアド プロシージャにブレークポイントを設定してから、トリガーにブレークポイントを設定します。そのうえで、「チュートリアル: Transact-SQL ストアド プロシージャのデバッグ」で説明されている手順を実行します。
この例では、AdventureWorks2008 データベースを使用します。このデータベースには、DELETE トリガーを備えた Purschasing.Vendor テーブルがあります。この例には、テーブルの行を削除してトリガーを起動するストアド プロシージャが含まれています。トリガーにブレークポイントを設定し、さまざまなパラメーターを指定してストアド プロシージャを実行すると、トリガーの異なる実行パスをたどることができます。
![]() |
---|
使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio Settings」を参照してください。 |
SQL トリガーをデバッグするには
新しい SQL Server プロジェクトで、AdventureWorks2008 サンプル データベースとの接続を確立します。詳細については、「方法: サーバー エクスプローラーを使用してデータベースに接続する」を参照してください。
後に示す最初の例にあるコードを使用して、新しいストアド プロシージャを作成し、UpdateCurrency_T_SQL と名付けます。詳細については、「方法: SQL Server のデータベース プロジェクトまたはサーバー プロジェクトでデバッグする」を参照してください。
DeleteVendor にブレークポイントを設定します。これは必須ではありません。ダイレクト データベース デバッグにより、プロシージャの先頭行がブレークポイントとして機能するからです。
トリガー用のブレークポイントを設定します。
トリガーのソース コードを開きます。そのためには、[テーブル] ノードを右クリックして、[Purchasing.Vendor] テーブルのノードを右クリックします。次に、dVendor という名前のトリガーのアイコンをダブルクリックします。
SET NOCOUNT ON ステートメントの横にある灰色の余白をクリックして、トリガーにブレークポイントを設定します。この手順は必須です。トリガーにブレークポイントを設定しないと、ステップ インしようとしてもトリガーのコードがスキップされてしまいます。
ストアド プロシージャにステップ インします。詳細については、「方法: サーバー エクスプローラーを使用してオブジェクトにステップ インする」を参照してください。
[ストアド プロシージャの実行] ダイアログ ボックスが表示され、パラメーター値を要求されます。
次のパラメーター値を設定します。
@entityID = 1492
SET NOCOUNT ON 行に、命令ポインターの黄色い矢印が表示されます。これは、ストアド プロシージャにおける最初の実行可能なコード行です。
いろいろなデバッグ機能を試してください。
F11 キーまたは [ステップ イン] ボタンを使用して、コードをステップ実行します。
DELETE ステートメントで F11 キーを再度押すと、トリガーにステップ インします。
終了してストアド プロシージャに戻るまでトリガーをステップ実行して、最後まで続行します。
使用例
これは、トリガーを起動するストアド プロシージャのコードです。
ALTER PROCEDURE dbo.DeleteVendor
(
@entityID int
)
AS
SET NOCOUNT ON
DELETE Purchasing.Vendor
WHERE BusinessEntityID = @entityID
RETURN