0

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

1 回答 1

2

由于您没有使用该@query过程的变量将查询附加到邮件,因此sp_send_dbmail可以完全设置@attach_query_result_as_file = 0或删除该变量。或者如果这是您想要做的,请附加一个查询 - 您可以尝试添加@query = 'SELECT GETDATE()'以查看它是否有效。

于 2015-02-24T00:57:08.743 回答