2012-01-03 31 views
0

長時間書き込まれたテーブルにトリガーがあり、この時点でリタイアまたは変更できません。このトリガーの条件に関係なく起動される選択ステートメントがたくさんあります。sql:トリガーの有効化と無効化

ここでは、上記の表の2つの列を更新する別のストアドプロシージャがあります。この操作(呼び出し元のSP)を呼び出すときに、他の操作やトリガーに書き込まれたクエリを実行する必要はありません。は発表された。

このストアドプロシージャの更新ステートメントを呼び出す前に、このテーブルの更新トリガを無効にして、更新ステートメントを実行するとトリガーを再度有効にします。

これは良い考えですか?このアプローチの問題はありますか?私はトランザクションでこの操作を行い、何かがうまくいかなければ元の段階に戻るようにします。

+0

humm、私はこれをどこかで見たと思う) –

答えて

0

トリガーを手動で有効/無効にすることができます。

トリガーが他のフィールドやテーブルを更新しないこと、およびそのトリガーを起動している他のジョブが同時に実行されないことが確実である限り、良い考えです。

関連する問題