2017-05-09 17 views
-1

私が作業しているデータベースには、T-SQLを使用してUPDATEを実行すると42秒かかるストアドプロシージャを呼び出すトリガがあります。 SQL Server Management Studioで行を編集すると、行が即座に更新されます。トリガは編集ウィンドウとT-SQL UPDATESで実行されますが、そうではありませんか?SQL Serverトリガはどのような状況で実行されますか?

ストアドプロシージャのSQLコードは、直接実行するかEXECを使用して呼び出すと即座に復帰しますが、ゆっくり実行されるのはUPDATEステートメントによってトリガーが呼び出されるときだけです。

+0

ないあなたquestion.Whatを理解することができ、あなたが本当に達成したいですか?詳細をご記入ください。トリガー構文も提供してください –

+1

トリガーが何をするかによって異なります。影響を受ける行の数はいくつですか?ストアドプロシージャは何をしますか?等々。 – Ben

+0

SQL Server Management Studioで行を編集すると、トリガーがトリガーされますか? – Glyn

答えて

1

トリガーはどのように設定されているかによって異なりますが、トリガーは更新、削除、および挿入ステートメントでのみ実行されます(3つのうちどれが選択されているかによって異なります)。

トリガーの作成に使用したコードを教えてください。

+0

'CREATE TRIGGER [dbo]。[refreshSubscriptionAddressBlock] ON [dbo]。[住所] 更新のため のAS の設定NOCOUNTに; IF EXISTS(SELECT * FROMが挿入されています) 実行するコード GO – Glyn

+0

アドレステーブルの行を編集(更新)すると、トリガーがトリガーされます –

+0

この点、私は自分自身に感謝しています。今私はちょうどストアドプロシージャがt-SQLの更新で42秒を実行するのにかかる理由を理解しなければなりません。助けてくれてありがとう – Glyn

-1
These triggers run after an insert, update or delete on a table 

click here for details about different type of triggers and demo for triggers

+0

私はトリガーの種類が分かりました。それは私に求めているものではありません。 \t SQL Server Management Studioで行を編集するとトリガーがかかりますか? – Glyn

+0

行を更新するとトリガーがトリガーされる –

関連する問題