讓我們假設我有一個帶有字段Processed的表ExchangeSession。sp_send_dbmail與@query參數同步
我需要發送電子郵件與加工= 0所有ExchangeSession,然後更新這些會議,以加工= 1像這樣:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SomeProfile',
@recipients='SomeAddress',
@subject = 'SomeSubject',
@body = @bodyparam,
@body_format = 'TEXT',
@query = N'SET NOCOUNT ON; select * from ExchangeSession where Processed = 0',
@execute_query_database = @dbnameparam,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'report.csv',
@query_result_header = 1,
@query_result_width = 32767,
@query_result_separator = @delimiterparam,
@exclude_query_output = 1,
@append_query_error = 0,
@query_no_truncate = 0,
@query_result_no_padding = 1;
update ExchangeSession
set
Processed = 1
where
Processed = 0
威爾sp_send_dbmail相對同步執行我的查詢到該批次或異步?換句話說,在電子郵件中我有沒有機會獲得所有未處理的會話?
親愛的Skippy,感謝您的回覆!但我不明白它在@query執行上下文中的作用。問題是,如果sp_send_dbmail在批處理中同步執行查詢,並將結果保存爲附件,然後異步發送電子郵件或將查詢保存爲文本,然後異步執行。 – Alterant
由於只有一個進程使用數據庫,所以我不太在意新條目。不管怎麼說,還是要謝謝你! – Alterant