次の方法で共有


チュートリアル : T-SQL トリガのデバッグ

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Standard

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Pro/Team

トピック該当 トピック該当 トピック該当 トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

トリガをデバッグするには、トリガを発生させるストアド プロシージャにブレークポイントを設定し、トリガにブレークポイントを設定します。次に、「チュートリアル : T-SQL ストアド プロシージャのデバッグ」に記載されている手順を実行します。

この例では、AdventureWorks データベースを使用します。このデータベースには、UPDATE トリガを含む Sales.Currency テーブルが格納されています。この例には、テーブルの行を更新してトリガを発生させるストアド プロシージャが含まれます。トリガにブレークポイントを設定し、さまざまなパラメータを指定してストアド プロシージャを実行すると、トリガの異なる実行パスをたどることができます。

ms165046.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

SQL トリガをデバッグするには

  1. 新しい SQL Server プロジェクトで、AdventureWorks サンプル データベースとの接続を確立します。詳細については、「方法 : データベースに接続する」を参照してください。

  2. 後述する最初のサンプルにあるコードを使用して、新しいストアド プロシージャを作成し、UpdateCurrency_T_SQL と名前を付けます。詳細については、「方法 : SQL Server のプロジェクトの種類を使用して開発する」を参照してください。

  3. UpdateCurrency_T_SQL にブレークポイントを設定します。この操作は、オプションです。ダイレクト データベース デバッグによって、プロシージャの最初の行がブレークポイントとして機能するためです。

  4. トリガのブレークポイントを設定します。

    1. [テーブル] ノードを右クリックし、[Sales.Currency] テーブルのノードを右クリックします。次に、uCurrency というトリガのアイコンをダブルクリックして、トリガのソース コードを開きます。

    2. SET NOCOUNT ON ステートメントの横にある灰色のマージンをクリックし、トリガにブレークポイントを設定します。この手順は必ず実行してください。トリガにブレークポイントを設定しないと、ステップ インするときにコードがスキップされます。

  5. ストアド プロシージャにステップ インします。詳細については、「方法 : サーバー エクスプローラを使用してオブジェクトにステップ インする」を参照してください。

    [ストアド プロシージャの実行] ダイアログ ボックスが開き、パラメータ値を入力するように求められます。

  6. 次のパラメータ値を設定します。

    1. @currencyCode = AAA

    2. @name = My Test Name など任意の値

    SET @mynvarchar = @@VERSION 行に、命令ポインタ (黄色の矢印) が表示されます。これは、ストアド プロシージャにおける最初の実行可能なコード行です。

  7. いろいろなデバッグ機能を試してください。

    1. F11 キーまたは [ステップ イン] ボタンでコード全体をステップ実行します。

      UPDATE ステートメントで改めて F11 キーを押すと、トリガにステップ インします。

    2. トリガ全体のステップ実行を終了してから、ストアド プロシージャに戻り、最後まで実行されます。

  8. データが挿入されたことを確認するには、サーバー エクスプローラで、[テーブル] の下にある [Sales.Currency] ノードを右クリックし、[テーブル データの表示] をクリックします。

使用例

これは、トリガを発生させるストアド プロシージャのコードです。

ALTER PROCEDURE dbo.UpdateCurrency_T_SQL
    (
        @currencyCode   nvarchar(3),
        @Name           nvarchar(50)           
    )
AS
    SET NOCOUNT ON
    UPDATE Sales.Currency
    SET Name = @Name 
        WHERE CurrencyCode = @currencyCode 
    RETURN

参照

概念

SQL のデバッグ

参照

サーバー エクスプローラ/データベース エクスプローラ