我正在尝试使用sp_send_dbmail从我的表发送多封电子邮件,但是当我运行存储过程时出现此错误。这是我得到的错误:
Parameter @attach_query_result_as_file cannot be 1 (true) when no value is specified for parameter @query. A query must be specified to attach the results of the query.
这是我的代码
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[myProc] as
declare rscursor cursor read_only
for
select Email, FullName from myTable
where userActive =1
declare @Emails nvarchar (100)
declare @FullName nvarchar (100)
open rscursor
fetch next from rscursor into @Emails, @FullName
while @@fetch_status=0
begin
EXEC msdb.dbo.sp_send_dbmail
@recipients = @Emails,
@subject = 'Sleep Diary Reminder',
@body = 'this is just test',
@profile_name = 'myProfile',
@attach_query_result_as_file = 1
fetch next from rscursor into @Emails, @FullName
end
close rscursor
deallocate rscursor
运行我的sp
EXEC dbo.myProc
答案 0 :(得分:2)
由于您未使用程序@query
的{{1}}变量将查询附加到邮件,请设置sp_send_dbmail
或完全删除变量。如果您想要这样做,请附上查询 - 您可以尝试添加@attach_query_result_as_file = 0
以查看其是否有效。