有人能在下面的存储过程方面提供帮助吗?我搞错了
在“@profile_name”附近不正确的语法“选择distinct(EmailAddress)作为收件人,@body =Replace(@body FROM,"$Approver",Forename)从STAS.dbo.NotifictationEmailID_View
在查询中
SELECT distinct(EmailAddress) as RECIPIENTS,
@body = Replace(@bodypre, "$Approver", Forename)
FROM [STAS].[dbo].[NotifictationEmailID_View] 它是本存储过程的一部分:
ALTER proc [dbo].[test]
as
begin
DECLARE @subject VARCHAR(500)
Declare @bodypre varchar(5000)
DECLARE @ProgramName VARCHAR(50)
DECLARE @FirstName VARCHAR(50)
DECLARE @body VARCHAR(5000)
DECLARE @email VARCHAR(500)
declare @recipients VARCHAR(5000)
DECLARE @CurrentRec AS INT
DECLARE @RecCount AS INT
Declare @emailStop as int
SET @CurrentRec = 1
SET @RecCount = 0
select @subject=EmailMessageSubject,
@bodypre = EmailMessageBody,
@emailStop = EmailStop_Flag
from STAS.dbo.MC_STAS_EmailMessage where TimeSheetStatusID = 3
SELECT @RecCount = COUNT(EmailAddress) FROM [STAS].[dbo].[NotifictationEmailID_View]
if (@emailStop <> 1 AND @RecCount > 0)
WHILE @RecCount >= @CurrentRec
begin
EXEC msdb.dbo.sp_send_dbmail
SELECT distinct(EmailAddress) as RECIPIENTS ,@body =Replace(@bodypre,"$Approver",Forename) from [STAS].[dbo].[NotifictationEmailID_View]
@profile_name = "STAS Email User",
@recipients = @RECIPIENTS,
@subject = @SUBJECT,
@body = @body
SET @CurrentRec = @CurrentRec + 1
end
end谢谢,
发布于 2012-05-03 15:29:19
试试这个:
SELECT DISTINCT
EmailAddress as RECIPIENTS,
@body = Replace(@bodypre, "$Approver", Forename)
FROM [STAS].[dbo].[NotifictationEmailID_View] DISTINCT不是您可以像以前那样调用的函数--它是一个SQL关键字。
https://stackoverflow.com/questions/10434330
复制相似问题