- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究一个 SQL 存储过程,它应该发送带有查询结果的附件。
我正在使用 sp_send_dbmail
发送电子邮件。
在我想发送的查询中,我将 加入到一个表变量中。当我执行存储过程时,我收到一条错误消息,指出该变量不存在。
我的代码:
DECLARE @t TABLE (
id INT IDENTITY(1,1),
some fields
)
DECLARE @query VARCHAR(MAX)
SET @query = 'SELECT
some values
FROM @t t
INNER JOIN dbo.Table d ON t.field = d.field
EXEC msdb.dbo.sp_send_dbmail @recipients=@recipients_list,
@subject = @subject,
@query = @query,
@attach_query_result_as_file = 1,
@query_result_width = 4000,
@query_attachment_filename = 'Details.txt'
最佳答案
查询在与原始代码体不同的上下文中运行,因此它不知道任何局部变量。尝试改用全局临时表。
CREATE TABLE ##t (
id INT IDENTITY(1,1),
some fields
)
DECLARE @query VARCHAR(MAX)
SET @query = 'SELECT
some values
FROM ##t t
INNER JOIN dbo.Table d ON t.field = d.field'
EXEC msdb.dbo.sp_send_dbmail @recipients=@recipients_list,
@subject = @subject,
@query = @query,
@attach_query_result_as_file = 1,
@query_result_width = 4000,
@query_attachment_filename = 'Details.txt'
DROP TABLE ##t
关于sql - sp_send_dbmail 中的局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739682/
我正在尝试使用 sp_send_dbmail 发送附件。附件存储在表的 varbinary(MAX) 列中。这是我的查询: EXEC msdb.dbo.sp_send_dbmail @
我正在研究一个 SQL 存储过程,它应该发送带有查询结果的附件。 我正在使用 sp_send_dbmail发送电子邮件。 在我想发送的查询中,我将 加入到一个表变量中。当我执行存储过程时,我收到一条错
我在 SQL Server 2008 中使用 sp_send_dbmail 发送查询结果。我将查询移动到一个过程中,并尝试在 sp_send_dbmail 过程中使用该过程,如下所示: EXEC ms
我使用的是 SQL Server 2008 R2。当我执行 sp_send_dbmail 时,我无法更改 DBA 指定的默认地址 FROM_ADDRESS。如果不起作用为什么还有这个参数? 如何指定“
我在此 MSDN 页面上使用类似于示例 C 的内容: http://msdn.microsoft.com/en-us/library/ms190307.aspx DECLARE @tableHTML
我已经写了一个SQL查询。但这给了我一个错误。 DECLARE @Delimiter Char(1) SET @Delimiter = CHAR(9) EXEC MSDB.dbo.sp_Send_DB
我正在尝试使用 sp_send_dbmail 发送电子邮件。我需要它将一个查询作为附件发送,另一个查询作为电子邮件正文的一部分发送。问题是 sp_send_dbmail 只有一个 @query 参数,
我需要发送带有文件附件的电子邮件。附件必须来自图像类型数据字段。在查询窗口和存储过程中运行以下代码时,不会发送电子邮件。在查询窗口中,它只显示“命令成功完成”,但没有电子邮件。 EXEC msdb.
我有一个每天晚上运行的存储过程,它应该将查询结果发送给多个收件人。然而,在大多数情况下,它最终会在一分钟后发送一封重复的电子邮件。我使用的代码如下(所有电子邮件和数据库引用均已更改): EXEC ms
正如标题所说,我正在尝试制作一个存储过程,用于将电子邮件发送到数据库中存储的地址,通常包括多个收件人。我已经尝试了几种方法来解决这个问题,但我认为我正在碰壁,我会很感激任何人提供的任何意见。我遇到的主
有没有办法为我的数据库中的用户提供访问权限以执行 msdb.dbo.sp_send_dbmail 无需将它们添加到 MSDB 数据库和 DatabaseMailUserRole? 我试过这个: ALT
我在 SQL2005 中使用 sp_send_dbmail 发送带有附件中结果的电子邮件。发送附件时,它是 UCS-2 编码的,我希望它是 ANSI 或 UTF-8。 这是 SQL EXEC msdb
我们使用 sp_send_dbmail 来通知我们某些问题,有时我们会在电子邮件中附加文件。有时我们会收到错误 32(文件正在使用)错误。在这种情况下,我已经将一些代码放在一起发送没有附件的电子邮件,
我正在使用 SQL Server 的 sp_send_dbmail 存储过程通过数据库发送邮件。 但是当我执行该程序时,它会关闭数据库邮件程序。我尝试通过 sysmail_start_sp 再次启动它
我在 sp_send_dbmail 中使用 @query 边界发送一封包含警告列表的电子邮件(警告由 @query 边界返回)。 @query 边界在电子邮件中以文本形式列出。从 @query 边界返
我正在使用 msdb.dbo.sp_send_dbmail 发送电子邮件。有时电子邮件不发送。我有失败的电子邮件列表。 SELECT TOP 10 * from msdb.dbo.sysmail_ev
我收到此错误: Msg 229, Level 14, State 5, Procedure sp_send_dbmail, Line 1 The EXECUTE permission was deni
我正在尝试在 SQL Server 2008 中创建一个存储过程,用于发送插入到出站表中的电子邮件。我正在使用 sp_send_dbmail。它使用游标遍历出站表。我还想删除包含我已发送的电子邮件的记
我正在使用 msdb.dbo.sp_send_dbmail 发送电子邮件。有时电子邮件不发送。我有失败的电子邮件列表。 SELECT TOP 10 * from msdb.dbo.sysmail_ev
我正在寻找一种方法来检查使用 sp_send_dbmail 排队的特定电子邮件是否最终从我们的 Exchange 服务器成功发送。我查看了系统表 msdb.dbo.sysmail_mailitems
我是一名优秀的程序员,十分优秀!