2017-07-31 33 views
0

我有一個工作可以清理表格中的查詢。有一個滾動瀏覽查詢的遊標,如果有一個遊標失敗,那麼會有一個try catch,它會從表和數據庫的查詢中得到錯誤消息。它使用sp_send_dbemail將這些信息放入電子郵件中。sql server:在交易過程中發送有關更新的電子郵件

我想知道是否可以在查詢運行後更改catch塊以查找成功的事務。然後獲取更新的行,或者可能只是行的ID,並將這些ID放在電子郵件中?

或者當作業正在運行它以在更新發生後創建電子郵件時查找要更新的查詢中的行,是否更容易?

回答

0

聽起來像output clause可能在這裏很有用。您可以通過搜索找到很多使用示例。簡而言之,您將輸出子句添加到每個「清理」語句並捕獲所需的信息。是的 - 每個陳述。我懷疑你的目標 - 但這是一個不同的問題。

順便說一句 - catch塊在發生錯誤時運行。使用catch塊來查找成功語句的效果沒有多大意義。在catch塊中,您知道您的try塊中最近執行的語句失敗。當然,如果每個語句都是成功的,catch塊就不會執行。

+0

謝謝!是的,我非常確定catch catch塊的想法是不可行的,但認爲請問在SSMS中存在一個我不知道的邊緣案例存儲過程。 – JRHigdon

相關問題