--exec P_TYAN_SERVICE_SITE_CHECK
Procédure ALTER [dbo].[P_TYAN_SERVICE_SITE_CHECK]
Comme
Déclarer
@count int,
@object int,
@hr int,
@rc int,
@outputvarchar(400),
@descriptionvarchar (400),
@sourcevarchar(400),
@expéditeur varchar(50),
@nomdel'expéditeur varchar(50),
@adresseduserveurvarchar(255),
@recipient varchar(255),
@recipientName varchar(255),
@sujet varchar(255),
@mailbodyvarchar(8000)
--Début automatique de l'e-mail
sélectionnez @count= count(*) depuis [dbo].[TYAN_SERVICE_SITE] où la zone n'est pas nulle et cust_name n'est pas nul et ship_location n'est pas nul et le pays n'est pas nul et cust_no n'est pas nul et (CUST_TYPE est nul ou SERVICE_SITE est nul )
si (@count! = 0)
commencer
Définir @sender='AutoMail'
Définir @sendername='AutoMail'
Définir @serveraddress='10.98.0.211'
--Voici l'adresse du destinataire. Cette variable semble inutile, ajoutez-la donc directement à la fin. Regardez ci-dessous-------
Définir @recipient =''
--titre----------------
Définir @subject='Mail'
-------Voici les données que vous souhaitez afficherBegin-------------------------
Définir @mailbody=N'<html><head>
</tête><corps>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">Cher Monsieur :<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">Veuillez conserver ces nouveaux Tyan
Site de service :<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 >ZONE</td>
<td >PAYS</td>
<td >N° DE CLIENT</td>
<td >NOM DU CLIENT</td>
</tr>'
--<td align=left>Nom du département</td>
Déclarer
@strvarchar(8000),
@AREA nvarchar(50),
@PAYS varchar(50),
@CUST_NOvarchar(50),
@CUST_NAMEvarchar(50),
@vcount int
commencer
définir @vcount=1
définir @str=''
Déclarer le curseur c_at
POUR
sélectionnez une zone distincte, un pays, un numéro de client, un nom de client à partir de [dbo]. nul )
OUVERT c_at
RÉCUPÉRER NEXT FROM c_at INTO @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
PENDANT (@@FETCH_STATUS = 0)
COMMENCER
set @str=@str+'<tr align=center>'
définir @str=@str+'<td >'+@AREA+'</td>'
définir @str=@str+'<td >'+@COUNTRY+'</td>'
définir @str=@str+'<td >'+@CUST_NO+'</td>'
définir @str=@str+'<td >'+@CUST_NAME+'</td>'
définir @vcount=@vcount+1
RÉCUPÉRER NEXT FROM c_at INTO @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
FIN
-------Voici les données que vous souhaitez afficher fin-------------------------
FERMER c_at
DEALLOCATE c_at
fin
Définir @mailbody = @mailbody+@str+'</table></body></html>'
Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT
Exec @hr = sp_OASetProperty @object, 'Charset', 'BIG5'
--@recipient --Adresse e-mail de votre destinataire------------------------------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient', NULL, 'votre adresse mail'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL, 'votre adresse mail'
Exec @hr = sp_OASetProperty @object, 'Sujet',@subject
Exec @hr = sp_OAsetProperty @object, 'HTMLBody', @mailbody
Exec @hr = sp_OAsetProperty @object, 'Priorité', 1
Si Not @sender est nul
Exec @hr = sp_OASetProperty @object, 'De', @sender
Si Non, @sendername est nul
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername
--Début automatique de l'e-mail
Exec @hr = sp_OAMethod @object, 'Send', null,@serveraddress
Exec @hr = sp_OAGetErrorInfo @object, @source OUTPUT, @description OUTPUT
si (@hr = 0)
Commencer
Définir @output='Source de l'erreur : '+@source
Imprimer @ sortie
Sélectionnez @output = 'Description de l'erreur : ' + @description
Imprimer @ sortie
Fin
Autre
Commencer
Imprimer « Échec de l'obtention des informations sur l'erreur ! '
Retour
Fin
--Libérer l'objet JMail.Message
EXEC @hr = sp_OADestroy @object
--SI @hr <> 0
--COMMENCER
-- EXEC sp_OAGetErrorInfo @object
-- RETOUR
--FIN
fin
La procédure stockée ci-dessus est terminée,
Ci-joint l'ouverture des procédures d'automatisation Ole
---Ouvrir les procédures d'automatisation Ole----
sp_configure 'afficher les options avancées', 1;
ALLER
RECONFIGURER ;
ALLER
sp_configure 'Procédures d'automatisation Ole', 1 ;
ALLER
RECONFIGURER ;
ALLER
Vous pouvez l'utiliser après avoir apporté de légères modifications en fonction de vos propres données. L'envoi d'e-mails est généralement utilisé avec le travail de l'agent du serveur SQL pour envoyer des e-mails régulièrement.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx.
-