--exec P_TYAN_SERVICE_SITE_CHECK
ALTER プロシージャ [dbo].[P_TYAN_SERVICE_SITE_CHECK]
として
宣言する
@count int、
@オブジェクト整数、
@hr int、
@rc int、
@output varchar(400)、
@description varchar (400)、
@source varchar(400)、
@sender varchar(50)、
@送信者名 varchar(50)、
@サーバーアドレスvarchar(255)、
@受信者varchar(255)、
@受信者名 varchar(255),
@subject varchar(255)、
@mailbody varchar(8000)
--自動メールの開始
select @count= count(*) from [dbo].[TYAN_SERVICE_SITE] ここで、area は null ではなく、cust_name は null ではなく、ship_location は null ではなく、country は null ではなく、cust_no は null ではなく、(CUST_TYPE が null または SERVICE_SITE が null) )
if(@count!=0)
始める
@sender='AutoMail' を設定します
@sendername='AutoMail' を設定します
@サーバーアドレス='10.98.0.211'を設定します
--これは受信者のアドレスです。この変数は役に立たないと思われるので、最後に直接追加します。以下をご覧ください------
@受信者=''を設定します
- タイトル - - - - - - - -
@subject='メール' を設定します
-------ここに表示したいデータがあります開始----------
@mailbody=N'<html><head> を設定します
</head><body>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">拝啓:<o:p></o:p></span></font></p>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">これらの新しい Tyan を維持してください
サービス サイト:<o:p></o:p></span></font></p>
<table style="font-family:trebuchet ms;font-size: 10pt; border-collapse:collapse" cellpadding="2" bordercolor="black" border=1>
<tr bgcolor=orange align=center>
<td >エリア</td>
<td >国</td>
<td >カスタムノー</td>
<td >お客様の名前</td>
</tr>'
--<td align=left>部門名</td>
宣言する
@str varchar(8000)、
@AREA nvarchar(50)、
@COUNTRY varchar(50)、
@CUST_NO varchar(50)、
@CUST_NAME varchar(50)、
@vcount int
始める
@vcount=1 を設定します
@str='' を設定します
c_at カーソルを宣言する
のために
[dbo].[TYAN_SERVICE_SITE] から個別の area,country,cust_no,cust_name を選択します。 area は null ではなく、cust_name は null ではなく、ship_location は null ではなく、country は null ではなく、cust_no は null ではなく、(CUST_TYPE が null または SERVICE_SITE がヌル)
オープンc_at
c_at から @AREA、@COUNTRY、@CUST_NO、@CUST_NAME に次をフェッチします
WHILE (@@FETCH_STATUS = 0)
始める
set @str=@str+'<tr align=center>'
set @str=@str+'<td >'+@AREA+'</td>'
set @str=@str+'<td >'+@COUNTRY+'</td>'
set @str=@str+'<td >'+@CUST_NO+'</td>'
set @str=@str+'<td >'+@CUST_NAME+'</td>'
@vcount=@vcount+1 を設定します
c_at から @AREA、@COUNTRY、@CUST_NO、@CUST_NAME に次をフェッチします
終わり
-------表示したいデータはここまでです----------
閉じる
DEALLOCATE c_at
終わり
@mailbody = @mailbody+@str+'</table></body></html>' を設定します
Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT
Exec @hr = sp_OASetProperty @object, 'Charset', 'BIG5'
--@recipient --受信者の電子メール アドレス----------------------------------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient',NULL,'あなたのメールアドレス'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC',NULL,'あなたのメールアドレス'
Exec @hr = sp_OASetProperty @object, 'Subject',@subject
Exec @hr = sp_OAsetProperty @object, 'HTMLBody' ,@mailbody
Exec @hr = sp_OAsetProperty @object, 'Priority' , 1
@sender が null でない場合
Exec @hr = sp_OASetProperty @object, 'From', @sender
@sendername が null でない場合
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername
--自動メールの開始
Exec @hr = sp_OAMethod @object, 'Send', null,@serveraddress
Exec @hr = sp_OAGetErrorInfo @object、@source 出力、@description 出力
if (@hr = 0)
始める
@output='エラーソースを設定: '+@source
印刷@出力
@output = 'エラーの説明: ' + @description を選択してください
印刷@出力
終わり
それ以外
始める
Print 'エラー情報の取得に失敗しました! '
戻る
終わり
--JMail.Message オブジェクトを解放します。
EXEC @hr = sp_OADestroy @object
--IF @hr <> 0
- 始める
-- EXEC sp_OAGetErrorInfo @object
- 戻る
- 終わり
終わり
以上のストアドプロシージャが完了すると、
Ole Automation を開く手順を添付します。
---オープンオールオートメーション手順----
sp_configure '詳細オプションを表示', 1;
行く
再構成します。
行く
sp_configure 'Ole 自動化手順', 1;
行く
再構成します。
行く
独自のデータに基づいて少し変更を加えて使用できます。メールの送信は、通常、メールを定期的に送信する SQL サーバー エージェント ジョブと組み合わせて使用されます。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx
-