利用SqlServer系統儲存過程sp_send_dbmail傳送郵件例項(二)
上一節已經講解了如何在資料庫中配置資料庫郵件傳送(備註: 資料庫郵件功能是 基於SMTP實現的,首先在系統中 配置SMTP功能。即 在 “新增/刪除程式”皮膚中 “增加/刪除WINDOWS元件”,選中並雙擊 開啟"IIS"或 “應用程式”,勾選 "SMTP SERVICE"然後 一路 點“下一步”即可。一般不需要這一步,直接配置即可)
完成配置後,我們可以結合儲存過程和Job來實現定時從資料庫傳送郵件:
1、建立儲存過程,在新建的儲存過程中呼叫sp_send_dbmail儲存過程(注:程式碼中的\'只是新增程式碼時自動新增的跳脫字元,實質程式碼中只有單引號)
二、建立Job(SqlServer代理->作業),設定執行引數,定時執行此儲存過程,即可實現定時傳送郵件效果。
完成配置後,我們可以結合儲存過程和Job來實現定時從資料庫傳送郵件:
1、建立儲存過程,在新建的儲存過程中呼叫sp_send_dbmail儲存過程(注:程式碼中的\'只是新增程式碼時自動新增的跳脫字元,實質程式碼中只有單引號)
點選(此處)摺疊或開啟
-
Create PROCEDURE [dbo].[sp_send_error_alert]
-
AS
-
declare
-
@v_content nvarchar(max),
-
@v_mail_to nvarchar(500),
-
@v_body nvarchar(max),
-
@v_titile nvarchar(100)
-
,@v_br_id nvarchar(50)
-
,@v_installments nvarchar(10)
-
,@v_remark nvarchar(100)
-
BEGIN
-
SET NOCOUNT ON;
-
set @v_titile=\'測試郵件內容標題;
-
set @v_content=\'\';
-
-
DECLARE cursor_repayment CURSOR FOR
-
SELECT
-
br_id
-
,installments
-
,remark
-
from dw_account_repayment t
-
where
-
status!=1
-
and is_del=0
-
order by t.add_datetime desc;
-
-
OPEN cursor_repayment
-
FETCH NEXT FROM cursor_repayment INTO
-
@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>\';
-
-
fetch next from cursor_repayment into
-
@v_br_id --標ID
-
,@v_installments --期數
-
,@v_remark --錯誤描述
-
end;
-
-
CLOSE cursor_repayment; --關閉遊標
-
DEALLOCATE cursor_repayment; --清空遊標
-
-
if LEN(@v_content)>0
-
begin
-
SET @v_body =\'<html><H1>自動還款所有異常列表</H1><body bgcolor=white><table border = 1><tr><th>標ID</th><th>期數</th><th>錯誤描述</th></tr>\'
-
SET @v_body = @v_body + @v_content +\'</table></body></html>\'
-
EXEC msdb.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)\
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28699126/viewspace-1074615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLSERVER儲存過程SQLServer儲存過程
- SpringBoot傳送郵件(二)Spring Boot
- 功能較全的oracle傳送郵件過程Oracle
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 利用Oracle資料庫傳送郵件Oracle資料庫
- Sqlserver中的儲存過程SQLServer儲存過程
- Mix PHP V2 例項:協程池非同步郵件傳送守護程式PHP非同步
- php 傳送郵件(以QQ為例)PHP
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- 為什麼郵件系統不能用來大量傳送郵件
- 郵件傳送
- 傳送郵件
- SqlServer-儲存過程分頁SQLServer儲存過程
- iOS12系統應用傳送普通郵件構建郵件iOS
- java郵件傳送Java
- python傳送郵件Python
- Django——郵件傳送Django
- gmail傳送郵件AI
- phpcms傳送郵件PHP
- 郵件的傳送
- Laravel 傳送郵件Laravel
- thinkjs 傳送郵件JS
- SpringBoot傳送郵件Spring Boot
- SpringBoot郵件傳送Spring Boot
- Laravel傳送郵件Laravel
- PHP傳送郵件PHP
- nodejs 傳送郵件NodeJS
- go 如何呼叫 sqlserver 帶傳出引數的儲存過程GoSQLServer儲存過程
- SqlServer儲存過程的建立與使用SQLServer儲存過程
- 儲存過程 傳 datatable儲存過程
- 使用 MailChimp 傳送郵件 + 調取 API 開發落地頁過程AIAPI
- SpringBoot開發案例之郵件多例項傳送Spring Boot
- 【SqlServer】清除過期資料的儲存過程SQLServer儲存過程
- laravel中使用利用訊息佇列傳送郵件Laravel佇列
- golang傳送郵件(qq郵箱)Golang
- SqlServer儲存過程應用二:分頁查詢資料並動態拼接where條件SQLServer儲存過程
- Android 快速傳送郵件Android
- 使用phpmailer傳送郵件PHPAI
- SpringBoot傳送郵件(三)Spring Boot