公布SQL 2005 发送邮件 存储历程
最近由权威调查机构Evans数据公司进行的一项调查显示,MySQL在过去两年已经获得了25%的市场份额。该调查公司还预测,相比其他的开源数据库和闭源数据库。--execP_TYAN_SERVICE_SITE_CHECKALTERPRocedure.
As
Declare
@countint,
@objectint,
@hrint,
@rcint,
@outputvarchar(400),
@descriptionvarchar(400),
@sourcevarchar(400),
@sendervarchar(50),
@sendernamevarchar(50),
@serveraddressvarchar(255),
@recipientvarchar(255),
@recipientNamevarchar(255),
@subjectvarchar(255),
@mailbodyvarchar(8000)
--主动邮件begin
select@count=count(*)from.whereareaisnotnullandcust_nameisnotnullandship_locationisnotnullandcountryisnotnullandcust_noisnotnulland(CUST_TYPEisnullorSERVICE_SITEisnull)
if(@count!=0)
begin
Set@sender=AutoMail
Set@sendername=AutoMail
Set@serveraddress=10.98.0.211
--这里是收件人地点,这个变量仿佛没用,间接在前面加。就看上面-------
Set@recipient=
--题目----------------
Set@subject=Mail
-------这里为你要显现的数据Begin---------------------
Set@mailbody=N<html><head>
</head><body>
<pstyle="margin-bottom:12.0pt"><fontsize=1face=Arial><span
lang=EN-USstyle="font-size:9.0pt;font-family:Arial">DearSir:<o:p></o:p></span></font></p>
<pstyle="margin-bottom:12.0pt"><fontsize=1face=Arial><span
lang=EN-USstyle="font-size:9.0pt;font-family:Arial">PleasemaintainthesenewTyan
ServiceSite:<o:p></o:p></span></font></p>
<tablestyle="font-family:trebuchetms;font-size:10pt;border-collapse:collapse"cellpadding="2"bordercolor="black"border=1>
<trbgcolor=orangealign=center>
<td>AREA</td>
<td>COUNTRY</td>
<td>CUSTNO</td>
<td>CUSTNAME</td>
</tr>
--<tdalign=left>DeptName</td>
Declare
@strvarchar(8000),
@AREAnvarchar(50),
@COUNTRYvarchar(50),
@CUST_NOvarchar(50),
@CUST_NAMEvarchar(50),
@vcountint
begin
set@vcount=1
set@str=
Declarec_atCursor
FOR
selectdistinctarea,country,cust_no,cust_namefrom.whereareaisnotnullandcust_nameisnotnullandship_locationisnotnullandcountryisnotnullandcust_noisnotnulland(CUST_TYPEisnullorSERVICE_SITEisnull)
OPENc_at
FETCHNEXTFROMc_atINTO@AREA,@COUNTRY,@CUST_NO,@CUST_NAME
WHILE(@@FETCH_STATUS=0)
BEGIN
set@str=@str+<tralign=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>
set@vcount=@vcount+1
FETCHNEXTFROMc_atINTO@AREA,@COUNTRY,@CUST_NO,@CUST_NAME
END
-------这里为你要显现的数据end---------------------
CLOSEc_at
DEALLOCATEc_at
end
Set@mailbody=@mailbody+@str+</table></body></html>
Exec@hr=sp_OACreatejmail.message,@objectOUTPUT
Exec@hr=sp_OASetProperty@object,Charset,BIG5
--@recipient--你的收件人邮箱地点---------------------------------------------------
Exec@hr=sp_OAMethod@object,AddRecipient,NULL,yourmailaddress
--Exec@hr=sp_OAMethod@object,AddRecipientBCC,NULL,yourmailaddress
Exec@hr=sp_OASetProperty@object,Subject,@subject
Exec@hr=sp_OAsetProperty@object,HTMLBody,@mailbody
Exec@hr=sp_OAsetProperty@object,Priority,1
IfNot@senderisnull
Exec@hr=sp_OASetProperty@object,From,@sender
IfNot@sendernameisnull
Exec@hr=sp_OASetProperty@object,FromName,@sendername
--主动邮件begin
Exec@hr=sp_OAMethod@object,Send,null,@serveraddress
Exec@hr=sp_OAGetErrorInfo@object,@sourceOUTPUT,@descriptionOUTPUT
if(@hr=0)
Begin
Set@output=e`源:+@source
Print@output
Select@output=e`形貌:+@description
Print@output
End
Else
Begin
Print@取e`Y掉。
Return
End
--放JMail.Messageο
EXEC@hr=sp_OADestroy@object
--IF@hr0
--BEGIN
--EXECsp_OAGetErrorInfo@object
--RETURN
--END
end
下面存储历程完成、
附开启OleAutomationProcedures
---开启OleAutomationProcedures----
sp_configureshowadvancedoptions,1;
GO
RECONFIGURE;
GO
sp_configureOleAutomationProcedures,1;
GO
RECONFIGURE;
GO
人人依据本人的数据稍作修正便可以用了,发送邮件一样平常与sqlserveragent功课一同用,准时发送邮件。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx“MySQL实际上是一个数据库家族,你可以从选择一个并将其配置成可以满足你的大多数情况,”开源顾问公司Ethiqa的总裁如此表示,“因此,你可以在开始的时候选择一个小巧的版本产品,以后再根据需要来对其进行性能或大小上的扩展。” 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 原来公司用过MYSQL自己也只是建个表写个SQL 微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。 SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
页:
[1]