使用sql中的send dbmail stored proc从表中发送多封电子邮件

时间:2015-02-24 00:47:41

标签: sql-server tsql sp-send-dbmail

我正在尝试使用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

1 个答案:

答案 0 :(得分:2)

由于您未使用程序@query的{​​{1}}变量将查询附加到邮件,请设置sp_send_dbmail或完全删除变量。如果您想要这样做,请附上查询 - 您可以尝试添加@attach_query_result_as_file = 0以查看其是否有效。