2017-07-31 10 views
0

テーブルからクリーンアップクエリを実行するジョブがあります。クエリをロールオーバーするカーソルがあります。失敗した場合は、テーブルとデータベースのクエリからエラーメッセージを受け取るtryキャッチがあります。 sp_send_dbemailを使ってその情報を電子メールに入れます。SQL Server:トランザクション中に更新に関する電子メールを送信

成功したトランザクションを検索するためにクエリ実行後にcatchブロックを変更できるかどうかは疑問です。その後、更新された行を取得するか、行のIDだけを取得して、それらのIDを電子メールに入れますか?

更新が行われた後にジョブが実行されて電子メールを作成するときに、クエリ内で更新する行を探すほうが簡単でしょうか?

答えて

0

ここではoutput clauseのように聞こえるかもしれません。あなたは、検索によって多くの使用例を見つけることができます。要するに、各 "clean"文にoutput節を追加し、必要な情報を取得します。はい - 各ステートメント。私はあなたの目標については疑問ですが、それは別の問題です。

btw - エラーが発生するとcatchブロックが実行されます。 catchブロックを使用して成功したステートメントの効果を探すのは、あまり意味がありません。 catchブロックでは、tryブロックで最後に実行された文が失敗したことがわかります。もちろん、すべての文が成功するとcatchブロックは決して実行されません。

+0

ありがとうございます!ええ、私はかなりキャッチブロックのアイデアは無駄だと確信していましたが、私が知らなかったSSMSにエッジケースストアprocがあることを尋ねることをお勧めしました。 – JRHigdon