SQLServer 儲存過程 定時任務發郵件

2022-01-12 10:37:02 字數 3386 閱讀 3373

sqlserver **發郵件需要開啟sql server **伺服器,然後,在【管理】-【資料庫郵件】中,右鍵點選配置資料庫郵件。

這是配置檔案的配置。

配置完成之後,就把下邊語句寫成儲存過程,之後,再配置定時任務,定時執行該儲存過程,發郵件。

alter

procedure

[dbo

].[logerroremail]as

declare

@emailcontent

nvarchar(2000);--

郵件內容

declare

@emailsubject

nvarchar(200);--

郵件主題

declare

@emailadress

nvarchar(100);--

郵件傳送位址

declare

@error

int; --

錯誤數declare

@logfield

nvarchar(max); --

日誌字段內容

declare

@num

int; --

資料行數

set@error=0

;

set@emailcontent='

日期:'

+convert(varchar(10),getdate(),120)+''

;--t

t1_log表檢查

select

@num

=count(*) from tt1_log where

datediff(dd,t1_log.logdate,getdate())<

2if(@num=2

)

begin

select

@logfield

=log_field from t1_log where

datediff(dd,t1_log.logdate,getdate())=0--

今天的資料

if(@logfield

like

'%error%')

begin

set@emailcontent

=@emailcontent+'

t1_log今天有錯;';

set@error

=@error+1

;

endselect

@logfield

=log_field from t1_log where

datediff(dd,t1_log.logdate,getdate())=1--

昨天的資料

if(@logfield

like

'%error%')

begin

set@emailcontent

=@emailcontent+'

t1_log昨天有錯;';

set@error

=@error+1

;

endend

else

begin

set@emailcontent

=@emailcontent+'

t1_log表資料不足兩條;';

set@error

=@error+1

;

end--

t2_log表檢查

select

@num

=count(*) from t2_log where

datediff(dd,t2_log.logdate,getdate())<

2if(@num=2

)

begin

select

@logfield

=log_field from t2_log where

datediff(dd,t2_log.logdate,getdate())=0--

今天的資料

if(@logfield

like

'%error%')

begin

set@emailcontent

=@emailcontent+'

t2_log今天有錯;';

set@error

=@error+1

;

endselect

@logfield

=log_field from t2_log where

datediff(dd,t2_log.logdate,getdate())=1--

昨天的資料

if(@logfield

like

'%error%')

begin

set@emailcontent

=@emailcontent+'

t2_log昨天有錯;';

set@error

=@error+1

;

endend

else

begin

set@emailcontent

=@emailcontent+'

t2_log表資料不足兩條;';

set@error

=@error+1

;

endif(@error

>0)

begin

exec

msdb.dbo.sp_send_dbmail

@profile_name='

logerroremail

',--

配置檔案名稱

@recipients

='56789023

@qq.com

',--

收件email位址

@subject

=@emailsubject,--

郵件主題

@body

=@emailcontent, --

郵件正文內容

@body_format='

html'--

郵件內容格式

end

SQLServer 儲存過程 定時任務發郵件

1 資料庫配置 2 儲存過程 1 create procedure dbo logerroremail 2 3as4declare emailcontent nvarchar 2000 郵件內容 5declare emailsubject nvarchar 200 郵件主題 6declare ema...

sql server儲存過程

建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...

SQLSERVER儲存過程

sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...