如何使用 SQL Server 发送邮件:第二部分






3.21/5 (4投票s)
在本文中,您将学习如何从表中选择数据,并使用 SQL Server 2008 将该数据发送到电子邮件。
本教程分为三个部分,如下所示:
- 配置电子邮件配置文件并使用 SQL Server 发送测试电子邮件
- 选择并在邮件中发送数据
- 安排 SQL Server 每日发送邮件
引言
本文解释了如何从表中选择数据,并将该数据绑定到电子邮件,然后使用 SQL Server 2008 发送邮件。
步骤 1
使用正确的用户名和密码登录 SQL Server 2008。
第二步
单击数据库,然后单击 新建查询。
在此示例中,我有一个名为 tblstudent
的 student
表,以及该表中的一些测试数据。
CREATE TABLE [dbo].[tblStudents](
[Id] [int] IDENTITY(1,1) NOT NULL,
[StudentName] [varchar](50) NOT NULL,
[RollNo] [varchar](20) NOT NULL,
[Add] [varchar](50) NULL,
[MobileNo] [varchar](10) NOT NULL,
CONSTRAINT [PK_tblStudents] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
GO
步骤 3
现在,我将从 student
表中选择数据,并将该数据绑定到电子邮件。邮件中应包含以下表格数据:
步骤 4
要设计前面的表格,我们需要以下 HTML 表格结构。
<h3>Students Information</h3>
<table border="1">
<tr>
<th>
Roll No
</th>
<th>
Student Name
</th>
<th>
Address
</th>
<th>
Mobile No</th>
</tr>
<tr>
<td>
1
</td>
<td>
Manish kumar
</td>
<td>
Hydrabad</td>
<td>
0000000000
</td>
</tr>
<tr>
<td>
2
</td>
<td>
Venkat</td>
<td>
Pune</td>
<td>
111111111
</td>
</tr>
</table>
步骤 5
现在编写以下查询,并将该查询绑定到 msdb.dbo.sp_send_dbmail
存储过程。
DECLARE @TabulerData NVARCHAR(MAX)
DECLARE @TablrBodyData NVARCHAR(MAX)
SET @TabulerData = CAST(( SELECT [RollNo] AS 'td','',[StudentName] AS 'td','',
[Add] AS 'td','', [MobileNo] AS 'td'
FROM tblStudents FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX))
SET @TablrBodyData ='<html><body><H4>Students Information</H4>
<table border = 1>
<tr>
<th> Roll No </th> <th> Student Name </th> _
<th> Address </th> <th> Mobile No </th></tr>'
SET @TablrBodyData = @TablrBodyData + @TabulerData +'</table></body></html>'
步骤 6
现在将 @TablrBodyData
绑定到 msdb.dbo.sp_send_dbmail
存储过程的主体。
EXEC msdb.dbo.sp_send_dbmail @profile_name='MyTestMail',
@recipients='manishki@live.com',
@subject='My Test Mail Service with student data.',
@body=@TablrBodyData,
@body_format ='HTML'
输出
邮件已排队。检查电子邮件,它将显示如下:
摘要
在本演示中,您学习了如何从表中选择数据,并使用 SQL Server 2008 将该数据发送到电子邮件。请提供您对本文的宝贵意见。