社区
MS-SQL Server
帖子详情
100分求助!!!怎样用SQL发MAIL时在邮件内容中加入查询结果表格?????
PCBoy008
2004-12-30 11:12:59
例如,有 select * from sales
然后我希望在MAIL中内容:
您好,以下是本月销售统计:
【这里显示表格,而不是空格分隔的内容】
用xp_sendmail是否可行??
...全文
207
8
打赏
收藏
100分求助!!!怎样用SQL发MAIL时在邮件内容中加入查询结果表格?????
例如,有 select * from sales 然后我希望在MAIL中内容: 您好,以下是本月销售统计: 【这里显示表格,而不是空格分隔的内容】 用xp_sendmail是否可行??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
passionke
2005-02-22
打赏
举报
回复
up
constantine
2004-12-30
打赏
举报
回复
up
vinsonshen
2004-12-30
打赏
举报
回复
你要把查询结果以表格形式作为邮件内容?
这样SQL不能实现吧~~~
vinsonshen
2004-12-30
打赏
举报
回复
关注~~~
iswear428
2004-12-30
打赏
举报
回复
UP
yjzhg
2004-12-30
打赏
举报
回复
UP
zjcxc
元老
2004-12-30
打赏
举报
回复
要显示为表格的话,xp_sendmail不能直接实现
zlp321002
2004-12-30
打赏
举报
回复
有办法让xp_sendmail发送HTML格式信件吗?
转贴,未测试,楼主搞定了,希望能写详细点贴上来:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROC SendHtmlMailTest(@vMailTo VARCHAR(255), @vMailFrom VARCHAR(255))
AS
BEGIN
SET CONCAT_NULL_YIELDS_NULL OFF
DECLARE
@Hresult INT,
@iMsg INT,
@iConf INT,
@ErrorSource VARCHAR (255),
@ErrorDesc VARCHAR (255),
@ServerIPAddr VARCHAR(15)
SET @ServerIPAddr = localhost --如本机是2000且启动了smtp服务
BEGIN
EXEC @Hresult = sp_OACreate 'CDO.Message', @iMsg OUT
IF @Hresult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @iMsg, @ErrorSource OUT, @ErrorDesc OUT
RAISERROR (@ErrorDesc, 16, 1, 1, 1, 2)
PRINT 'Error Occurred Calling Object: ' + @ErrorSource + ' ' + @ErrorDesc
RETURN
END
DECLARE @strBodyHTML VARCHAR(8000)
SET @strBodyHTML = @strBodyHTML + '<HTML><HEAD><basefont face=tahoma style="font-size: 9px;">'
SET @strBodyHTML = @strBodyHTML + '<STYLE>'
SET @strBodyHTML = @strBodyHTML + 'td.small {'
SET @strBodyHTML = @strBodyHTML + 'font-family:Verdana, Trebuchet, Arial;'
SET @strBodyHTML = @strBodyHTML + 'font-size:10px;'
SET @strBodyHTML = @strBodyHTML + 'color:#000000;'
SET @strBodyHTML = @strBodyHTML + 'text-align:left;'
SET @strBodyHTML = @strBodyHTML + 'line-height:12px;'
SET @strBodyHTML = @strBodyHTML + 'margin-top:0px;'
SET @strBodyHTML = @strBodyHTML + 'margin-bottom:0px;'
SET @strBodyHTML = @strBodyHTML + 'text-decoration: none;'
SET @strBodyHTML = @strBodyHTML + '}'
SET @strBodyHTML = @strBodyHTML + 'p.detail {font-family: monospace;'
SET @strBodyHTML = @strBodyHTML + 'font-size: 11px.; margin-left: 8;'
SET @strBodyHTML = @strBodyHTML + 'margin-top: 1;'
SET @strBodyHTML = @strBodyHTML + '}'
SET @strBodyHTML = @strBodyHTML + '</style></HEAD>'
SET @strBodyHTML = @strBodyHTML + '<BODY><font color=green><h3>HI! This is HMTL/SMTP mail.</h3></font><img src="http://www.csdn.net/images/ad/ad-java.gif" border=no><BR>'
SET @strBodyHTML = @strBodyHTML + ' <Font Face=Arial Size=5><B>This uses CDOSys and not outlook profiles!</B><BR>'
SET @strBodyHTML = @strBodyHTML + '<B>Set </B> <FONT COLOR=RED>Font Color</FONT></Font><BR><BR>'
SET @strBodyHTML = @strBodyHTML + '<HR /></BODY>'
SET @strBodyHTML = @strBodyHTML + '</HTML>'
/*Some info needed*/
DECLARE @cdoSendUsingPort INT
DECLARE @cdoAnonymous INT
SET @cdoSendUsingPort = 25
SET @cdoAnonymous = 0
EXEC @Hresult = sp_OASetProperty @iMsg, 'configuration("http://schemas.microsoft.com/cdo/configuration/sendusing")', @cdoSendUsingPort
EXEC @Hresult = sp_OASetProperty @iMsg, 'configuration("http://schemas.microsoft.com/cdo/configuration/smtpserver")', @ServerIPAddr
EXEC @Hresult = sp_OASetProperty @iMsg, 'configuration("http://schemas.microsoft.com/cdo/configuration/smtpserverport")', 25
EXEC @Hresult = sp_OASetProperty @iMsg, 'configuration("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")', @cdoAnonymous
IF @Hresult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @iMsg, @ErrorSource OUT, @ErrorDesc OUT
PRINT 'Error Occurred Calling Object: ' + @ErrorSource + ' ' + @ErrorDesc
RETURN
END
EXEC @Hresult = sp_OASetProperty @iMsg, 'To', @vMailTo
EXEC @Hresult = sp_OASetProperty @iMsg, 'From', 'MSSQL Notifications'
EXEC @Hresult = sp_OASetProperty @iMsg, 'Subject', 'HI! This is HMTL/SMTP mail.'
EXEC @Hresult = sp_OASetProperty @iMsg, 'Sender', @vMailFrom
set @strBodyHTML = replace(replace(@strBodyHTML, '''''', ''''), '''','''''')
EXEC @Hresult = sp_OASetProperty @iMsg, 'HTMLBody', @strBodyHTML
IF @Hresult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @iMsg, @ErrorSource OUT, @ErrorDesc OUT
PRINT 'Error Occurred Calling Object: ' + @ErrorSource + ' ' + @ErrorDesc
RETURN
END
/*Now send the message*/
EXEC @Hresult = sp_OAMethod @iMsg, 'Send'
IF @Hresult <> 0
BEGIN
EXEC sp_OAGetErrorInfo @iMsg, @ErrorSource OUT, @ErrorDesc OUT
PRINT 'Error Occurred Calling Object: ' + @ErrorSource + ' ' + @ErrorDesc
RETURN
END
/*Cleanup*/
EXEC @Hresult = sp_OADestroy @iMsg
END
END
SQL
Server通过存储过程实现自定义
邮件
格式并定
时
发
送
SQL
Server能够通过
SQL
语句实现
邮件
发
送HTML页面并推送给指定用户。本文主要
分
享一个案例,工厂间通过
SQL
存储过程自定义
邮件
格式,并
发
送给工厂
中
的指定员工。
EasyReport报表工具部署与实战:从
SQL
到自动化报表的完整指南
在数据驱动的业务场景
中
,报表自动化是提升团队效率的关键。其核心原理在于将数据
查询
、格式化展示与任务调度进行系统化整合,通过可视化配置替代手工编码。这一技术方案的核心价值在于降低开
发
成本,赋能业务人员自主进行数据
分
析,并确保数据的及
时
性与一致性。典型的应用场景包括运营监控、销售业绩追踪、财务日报等周期性数据汇报需求。本文以EasyReport这一轻量级开源报表工具为例,结合
SQL
查询
优化与定
时
任务配置等热词,详细解析如何从零部署、配置数据源,到创建包含参数化
查询
和
邮件
推送的完整报表流程,为
中
小团队构建内部数据
三款开箱即用的Web端ER图工具深度对比与实战指南
ER图是数据库设计的核心建模手段,本质是将业务逻辑转化为结构化数据约束的技术表达。其原理基于实体-关系理论,通过主外键、基数约束和属性定义实现语义精确性。现代开
发
中
,ER图已超越静态文档,成为连接数据库、代码生成、接口契约与团队协作的关键枢纽。尤其在课程设计、微服务拆
分
、
SQL
迁移等场景下,支持数据库直连、反向工程、SVG/
SQL
导出及多人协同的Web化工具,显著提升建模效率与落地可靠性。本文聚焦dbdiagram.io、
SQL
DBM与QuickDBD三款真正开箱即用的开源Web ER图工具,结合My
SQL
My
SQL
(进阶)万字吃透 My
SQL
SQL
调优:索引原理 + Explain 执行计划 + 全场景
SQL
优化 + 索引失效避坑实战
业务出现数据库卡顿、接口超
时
排查顺序:
SQL
& 索引优化 → 表结构优化 → My
SQL
参数调优 → 操作系统内核优化 → 硬件扩容先做软件层面低成本优化,最后再考虑硬件升级,避免盲目扩容造成资源浪费。有索引:并
发
越高性能衰减平缓;无索引:少量并
发
就会造成 IO、CPU 打满,
查询
耗
时
指数级上涨,形成性能雪崩。百万数据下,无索引
查询
速度比主键索引慢几十倍;高并
发
场景,缺失索引会引
发
雪崩式性能衰减,严重影响业务;索引的核心价值:大幅减少磁盘扫描行数,降低 IO 与 CPU 消耗;
Oracle实验一 熟悉ORACLE环境并练习
SQL
操作
一、实验
内容
1.建立用户c##u_j432,密码为:p123789,并完成相关操作 2.定义基本
表格
t_major_j432(专业)与t_stud_j432(学生),关系模式如下: t_major_j432( MNO专业编号 Primary key, MNAME 专业名称, loc 地址 in(主校区,南校区,...
MS-SQL Server
34,876
社区成员
254,635
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章