手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >sqlserver数据库使用存储过程和dbmail实现定时发送邮件
sqlserver数据库使用存储过程和dbmail实现定时发送邮件
摘要:上文已讲过如何在数据库中配置数据库邮件发送(备注:数据库邮件功能是基于SMTP实现的,首先在系统中配置SMTP功能。即在“添加/删除程序”面...

上文已讲过如何在数据库中配置数据库邮件发送(备注: 数据库邮件功能是 基于SMTP实现的,首先在系统中 配置SMTP功能。即 在 “添加/删除程序”面板中 “增加/删除WINDOWS组件”,选中并双击 打开"IIS"或 “应用程序”,勾选 "SMTP SERVICE"然后 一路 点“下一步”即可。一般不需要这一步,直接配置即可)

本文给出一个使用实例,结合存储过程和Job来实现定时从数据库发送邮件:

1、创建存储过程,在新建的存储过程中调用sp_send_dbmail存储过程(注:代码中的'只是添加代码时自动添加的转义字符,实质代码中只有单引号)

复制代码 代码如下:

Create PROCEDURE [dbo].[sp_send_error_alert]

AS

declare

@v_contentnvarchar(max),

@v_mail_tonvarchar(500),

@v_bodynvarchar(max),

@v_titilenvarchar(100)

,@v_br_idnvarchar(50)

,@v_installmentsnvarchar(10)

,@v_remarknvarchar(100)

BEGIN

SETNOCOUNTON;

set@v_titile='测试邮件内容标题;

set@v_content='';

DECLAREcursor_repaymentCURSORFOR

SELECT

br_id

,installments

,remark

fromdw_account_repaymentt

where

status!=1

andis_del=0

orderbyt.add_datetimedesc;

OPENcursor_repayment

FETCHNEXTFROMcursor_repaymentINTO

@v_br_id--标ID

,@v_installments--期数

,@v_remark--错误描述

WHILE@@FETCH_STATUS=0

BEGIN

set@v_content=@v_content+'<tr><td>'+@v_br_id+'</td>'+'<td>'+@v_installments+'</td>'+'<td>'+@v_remark+'</td></tr>';

fetchnextfromcursor_repaymentinto

@v_br_id--标ID

,@v_installments--期数

,@v_remark--错误描述

end;

CLOSEcursor_repayment;--关闭游标

DEALLOCATEcursor_repayment;--清空游标

ifLEN(@v_content)>0

begin

SET@v_body='<html><H1>自动还款所有异常列表</H1><bodybgcolor=white><tableborder=1><tr><th>标ID</th><th>期数</th><th>错误描述</th></tr>'

SET@v_body=@v_body+@v_content+'</table></body></html>'

EXECmsdb.dbo.sp_send_dbmail

@recipients=N'接收用户地址1@qq.com;接收用户地址2@qq.com',@body=@v_body,@body_format='HTML'

,@subject=@v_titile,@profile_name='上一节点的配置文件名(db_profiler)

创建Job(SqlServer代理->作业),设置执行参数,定时执行此存储过程,即可实现定时发送邮件效果。

【sqlserver数据库使用存储过程和dbmail实现定时发送邮件】相关文章:

通过SQL Server 2008数据库复制实现数据库同步备份

sqlserver2008自动发送邮件

SQLServer 数据库备份过程中经常遇到的九种情况

SQL Server 大量数据的分页存储过程代码

SQL SERVER数据库开发之存储过程应用

sqlserver 通用分页存储过程

sql server 2005中使用with实现递归的方法

sqlserver数据库迁移的几种方式

sqlserver2005 master与msdb数据库备份恢复过程

sqlserver 系统存储过程 中文说明

精品推荐
分类导航