2017-07-31 99 views
1

我已經知道如何發送使用SQL Server的郵件的郵件,我該做的就是創建一個表,然後我使用這樣的表身:發送郵件帶有參數的存儲過程

set @Body = 
(ColName as [TD], 
Col2Name as [TD] from tableName for xml raw ('tr'), elements) 

這工作正常,但現在我不想選擇任何形成的任何表,我想要做這樣的事情(填寫表身與存儲過程的參數數據):

set @Body = 
(@Parameter1 as [TD], 
@Parameter2 as [TD] for xml raw ('tr'), elements) 

但它不工作,這是做到這一點的正確方法?

PD。與上面的代碼,我得到以下SQL Server錯誤消息:

附近有語法錯誤爲'

+1

不知道你在找什麼......但聽起來你應該看看'@ query'或者其中一個'@ attach_query_result_as_file'類型的參數到sp_send_dbmail – scsimon

+0

@scsimon我有一切可以發送電子郵件和工作正常,但表體正在填充從表中選擇數據,現在我想要填充表體,但使用參數 – User1899289003

+0

所以你想要@body成爲來自使用參數的查詢的查詢結果? – scsimon

回答

1

只要改變

set @Body = 
(@Parameter1 as [TD], 
@Parameter2 as [TD] for xml raw ('tr'), elements) 

要:

set @Body = 
(Select @Parameter1 as [TD], 
@Parameter2 as [TD] for xml raw ('tr'), elements) 

記住你正在選擇一些東西,所以你需要使用選擇。

+1

謝謝!這解決了我的問題! – User1899289003