【发布时间】:2017-01-19 18:51:18
【问题描述】:
我编写了一个存储过程,其中“我必须比较两个表中的值并将邮件发送给第二个表中不存在的用户。
我必须自动生成此报告。
但是当我尝试制作相同的邮件正文时,问题就来了。
邮件正文应取自表record,即列名REQ_Approval_EMAILBODY。此外,Recipient id 必须取自表记录,即列名REQ_Approval_EMAILID。
此查询必须针对表中具有相应电子邮件 ID 的所有记录一一执行。
请帮我整理一下他的。
提前致谢
CREATE PROCEDURE Email_Daily
AS
BEGIN
DECLARE @bodynew VARCHAR(Max)
DECLARE @query1 VARCHAR(Max)
DECLARE @Para VARCHAR(Max)
DECLARE @query2 VARCHAR(Max)
DECLARE @query3 VARCHAR(Max)
DECLARE @query5 VARCHAR(Max)
DECLARE @Yesterday VARCHAR(50)
SET @Yesterday = REPLACE(CONVERT(varchar(50),GETDATE()-1,102),'.','-')
DECLARE @TODAY_DDMMYYY VARCHAR(50)
SET @TODAY_DDMMYYY = REPLACE(CONVERT(varchar(50),GETDATE()-1,6),' ','-')
SELECT * into #Temp3_New_Table
FROM(
SELECT [MessageIdentifier]
,[MessageIdentifier_Archive]
,CONVERT(DATE,REQ_SentDate) AS REQ_SentDate
,[REQ_Token]
,[REQ_Approval_Number]
,[REQ_Order_Number]
,[REQ_Document_Number]
,[REQ_Approval_EMAILID]
,[REQ_Approval_EMAILBODY]
,[REQ_Approval_EMAIL_Subject]
,[RES_Date]
,[IsValid]
,[Response_MessageIdentifier]
,[ReSubmit_Count]
,'0' as Flag
FROM [SAEI].[dbo].[Approval_EMAIL_LOG]
where CONVERT(DATE,REQ_SentDate) = @Yesterday
and res_date is null
and req_approval_number+req_order_number+req_document_number not in
(SELECT
[RES_Approval_Number]+[RES_Order_Number]+[RES_Document_Number]
FROM [SAEI].[dbo].[Approval_Response_WEB_LOG]))as Tr
set @query5='select * from #Temp3_New_Table'
set @para='<p style="font-family:arial; font-size:14px">
Dear Team,
</br>
</br>
</br>
</p>'
Set @bodynew = @PARA
DECLARE @subjects VARCHAR(200)
DECLARE @FileAttachment VARCHAR(400)
DECLARE @Recipients VARCHAR(MAX)
DECLARE @copy VARCHAR(MAX)
set @Recipients='select [REQ_Approval_EMAILID] from #Temp3_New_Table'
drop table #Temp3_New_Table
End
【问题讨论】:
-
想要的输出是什么?
-
输出结果是正确的..表 B 中不存在三列。但我需要从记录中获取电子邮件正文并将其显示在邮件中..还必须从中获取电子邮件 ID记录自己
-
不清楚您的要求是什么。您在提供代码的哪一部分需要帮助?
-
@stephen-我需要在 set@para 中显示名为 [REQ_Approval_EMAILBODY] 的列
标签: sql sql-server tsql stored-procedures