当前位置:首页 » 编程语言 » sql发邮件select
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql发邮件select

发布时间: 2022-10-28 21:35:07

sql语言中命令“SELECT”的用法!!!

select 列名称 from 表名称 where 条件,其中列名称也可以是*,代表查处全部列。
比如:
select * from 图书表 where 图书名=‘计算机导论’ 表示从图书表中查出图书名=‘计算机导论’的书的全部信息
如:select 图书名,地址,电话 from 图书表 where 图书名=‘计算机导论’ 表示从图书表中查出图书名=‘计算机导论’的书的某几个信息,图书名,地址,电话~~
希望对你有用~~
祝早日成功!

② 我想把一个查询结果用SQL发出邮件这个过程怎么做

--1.启用DatabaseMail扩展存储过程
sp_configure'showadvancedoptions',1
GO
RECONFIGURE
GO
sp_configure'DatabaseMailXPs',1
GO
RECONFIGURE
GO
sp_configure'showadvancedoptions',0
GO
RECONFIGURE
GO

--2.添加account
execmsdb..sysmail_add_account_sp
@account_name='zhanghao'--邮件帐户名称SQLServer使用
,@email_address='[email protected]'--发件人邮件地址
,@mailserver_name='smtp.126.com'--邮件服务器地址
,@mailserver_type='SMTP'--邮件协议SQL2005只支持SMTP
,@port=25--邮件服务器端口
,@username='zhanghao'--用户名
,@password='mima'--密码

--3.添加profile
execmsdb..sysmail_add_profile_sp
@profile_name='dba_profile'--profile名称
,@description='dbamailprofile'--profile描述
,@profile_id=null

--4.映射account和profile
execmsdb..sysmail_add_profileaccount_sp
@profile_name='dba_profile'--profile名称
,@account_name='zhanghao'--account名称
,@sequence_number=1--account在profile中顺序

--5.1发送文本邮件
execmsdb..sp_send_dbmail
@profile_name='dba_profile'
,@recipients='[email protected]'
,@subject='SQLServer邮件测试'
,@body='内容啊'
,@body_format='TEXT'

--5.2发送附件
EXECsp_send_dbmail
@profile_name='dba_profile',
@recipients='[email protected]',
@subject='这是附件',
@file_attachments='G:乱七八糟sql.txt'

--5.3发送查询结果
EXECsp_send_dbmail
@profile_name='dba_profile',
@recipients='[email protected]',
@subject='这是查询',
@query='select*fromtest.dbo.apo_city'

--6.查看邮件发送情况
select*fromsysmail_allitems
select*fromsysmail_mailitems
select*fromsysmail_event_log

--7.删除邮件配置
Execmsdb..sysmail_delete_profileaccount_sp
@profile_name='dba_profile',
@account_name='zhanghao'
Execmsdb..sysmail_delete_profile_sp
@profile_name='dba_profile'
Execmsdb..sysmail_delete_account_sp
@account_name='zhanghao'

③ sql server 2005 如何用存储过程发送邮件

A.
使用简单过程
以下存储过程将从视图中返回所有雇员(提供姓和名)、职务以及部门名称。此存储过程不使用任何参数。
复制
USE
AdventureWorks;
GO
IF
OBJECT_ID
(
'HumanResources.uspGetAllEmployees',
'P'
)
IS
NOT
NULL
DROP
PROCEDURE
HumanResources.uspGetAllEmployees;
GO
CREATE
PROCEDURE
HumanResources.uspGetAllEmployees
AS
SET
NOCOUNT
ON;
SELECT
LastName,
FirstName,
JobTitle,
Department
FROM
HumanResources.vEmployeeDepartment;
GO
uspGetEmployees
存储过程可通过以下方式执行:
复制
EXECUTE
HumanResources.uspGetAllEmployees;
GO
--
Or
EXEC
HumanResources.uspGetAllEmployees;
GO
--
Or,
if
this
procere
is
the
first
statement
within
a
batch:
HumanResources.uspGetAllEmployees;
B.
使用带有参数的简单过程
下面的存储过程只从视图中返回指定的雇员(提供名和姓)及其职务和部门名称。此存储过程接受与传递的参数精确匹配的值。
复制
USE
AdventureWorks;
GO
IF
OBJECT_ID
(
'HumanResources.uspGetEmployees',
'P'
)
IS
NOT
NULL
DROP
PROCEDURE
HumanResources.uspGetEmployees;
GO
CREATE
PROCEDURE
HumanResources.uspGetEmployees
@LastName
nvarchar(50),
@FirstName
nvarchar(50)
AS
SET
NOCOUNT
ON;
SELECT
FirstName,
LastName,
JobTitle,
Department
FROM
HumanResources.vEmployeeDepartment
WHERE
FirstName
=
@FirstName
AND
LastName
=
@LastName;
GO
uspGetEmployees
存储过程可通过以下方式执行:
复制
EXECUTE
HumanResources.uspGetEmployees
N'Ackerman',
N'Pilar';
--
Or
EXEC
HumanResources.uspGetEmployees
@LastName
=
N'Ackerman',
@FirstName
=
N'Pilar';
GO
--
Or
EXECUTE
HumanResources.uspGetEmployees
@FirstName
=
N'Pilar',
@LastName
=
N'Ackerman';
GO
--
Or,
if
this
procere
is
the
first
statement
within
a
batch:
HumanResources.uspGetEmployees
N'Ackerman',
N'Pilar';
C.
使用带有通配符参数的简单过程
以下存储过程只从视图中返回指定的一些雇员(提供名和姓)及其职务和部门名称。此存储过程模式与所传递的参数相匹配;或者,如果未提供参数,则使用预设的默认值(以字母
D
打头的姓)。
复制
USE
AdventureWorks;
GO
IF
OBJECT_ID
(
'HumanResources.uspGetEmployees2',
'P'
)
IS
NOT
NULL
DROP
PROCEDURE
HumanResources.uspGetEmployees2;
GO
CREATE
PROCEDURE
HumanResources.uspGetEmployees2
@LastName
nvarchar(50)
=
N'D%',
@FirstName
nvarchar(50)
=
N'%'
AS
SET
NOCOUNT
ON;
SELECT
FirstName,
LastName,
JobTitle,
Department
FROM
HumanResources.vEmployeeDepartment
WHERE
FirstName
LIKE
@FirstName
AND
LastName
LIKE
@LastName;
GO
uspGetEmployees2
存储过程可使用多种组合执行。下面只显示了几个组合:
复制
EXECUTE
HumanResources.uspGetEmployees2;
--
Or
EXECUTE
HumanResources.uspGetEmployees2
N'Wi%';
--
Or
EXECUTE
HumanResources.uspGetEmployees2
@FirstName
=
N'%';
--
Or
EXECUTE
HumanResources.uspGetEmployees2
N'[CK]ars[OE]n';
--
Or
EXECUTE
HumanResources.uspGetEmployees2
N'Hesse',
N'Stefen';
--
Or
EXECUTE
HumanResources.uspGetEmployees2
N'H%',
N'S%';
D.
使用
OUTPUT
参数
以下示例将创建
uspGetList
存储过程。此过程将返回价格不超过指定数值的产品的列表。此示例显示如何使用多个
SELECT
语句和多个
OUTPUT
参数。OUTPUT
参数允许外部过程、批处理或多条
Transact-SQL
语句在过程执行期间访问设置的某个值。
复制
USE
AdventureWorks;
GO
IF
OBJECT_ID
(
'Proction.uspGetList',
'P'
)
IS
NOT
NULL
DROP
PROCEDURE
Proction.uspGetList;
GO
CREATE
PROCEDURE
Proction.uspGetList
@Proct
varchar(40)
,
@MaxPrice
money
,
@ComparePrice
money
OUTPUT
,
@ListPrice
money
OUT
AS
SET
NOCOUNT
ON;
SELECT
p.[Name]
AS
Proct,
p.ListPrice
AS
'List
Price'
FROM
Proction.Proct
AS
p
JOIN
Proction.ProctSubcategory
AS
s
ON
p.ProctSubcategoryID
=
s.ProctSubcategoryID
WHERE
s.[Name]
LIKE
@Proct
AND
p.ListPrice

④ SQL问题,我在数据库中用sp_send_dbmail发送了500多封邮件给自己,但是只收到100多封,请问怎么检查呢~

打开企业管理器,在对象资源管理器--管理--数据库邮件,右键,“查看数据库邮件日志”

或者在sql查询分析器运行
use msdb
go

select * from sysmail_allitems
select * from sysmail_mailitems
select * from sysmail_event_log

⑤ SQL之SELECT语句

检索数据的SQL语句,就是SELECT语句。

使用SELECT语句可以从表中检索出一个或多个数据列。

如何使用SELECT语句,我们应该告诉SELECT语句从什么地方选择什么。

这是一个简单的SELECT语句,表示从procts表内检索一个名为prod_name的列。
所需要的列名在SELECT关键字后给出,FROM关键字指出检索数据的表名。

要想从一个表中检索多个列,使用相同的SELECT语句。唯一的不同是必须在SELECT关键字后给出多个列名,列名之间必须以逗号分隔。

SELECT语句通过在列名的位置使用星号(*)通配符,可以检索所有的列而不必逐个列出它们。

SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句。

⑥ SQL邮件发送

你的邮件服务器上可能不支持ssl加密但是你的账户配的时候选择了SSL加密 否则反之 你去你的账户中查看你的SSL加密即可

⑦ SQL 发送邮件可以做作业吗

业务场景:
业务数据库数据达到一定数量级后,进行邮件发送提醒。使用SQL Server Management Studio连接到数据库服务器后,可按下面步骤创建一个作业,通过作业执行特定语句,进行邮件发送。

(1)、在SQL Server Management Studio的数据库实例的管理菜单下,选中SQL Server代理→作业菜单,右击作业菜单,然后点击“新建作业”。

(2)、在作业属性/常规属性页,维护好作业的名称等信息。

(3)、在作业属性/步骤属性页,维护作业步骤及作业命令。

本文示例SQL:

USE msdb
GO
DECLARE @cnt INT;
DECLARE @emailBody VARCHAR(4000);
SELECT @cnt=COUNT(*) FROM ng0002.dbo.secuser;
IF @cnt>100
BEGIN
SELECT @emailBody='数据库用户表记录数已达:
'+convert(varchar,@cnt) ;
Exec dbo.sp_send_dbmail
@profile_name='SQLMailConfig',
@recipients='[email protected]',
@subject='用户数预警',
@body=@emailBody
END

(4)、在作业属性/计划属性页,维护作业的执行计划。

(5)、待数据库作业成功执行后,将会收到一份类似下图的邮件:

⑧ sql发送邮件问题邮件怎么判断他是否发送成功

查看所有发给danw但是未成功的记录USE msdb ;
GO

SELECT items.subject,
items.last_mod_date
,l.description FROM dbo.sysmail_faileditems as items
INNER JOIN dbo.sysmail_event_log AS l
ON items.mailitem_id = l.mailitem_id
WHERE items.recipients LIKE '%danw%'
OR items._recipients LIKE '%danw%'
OR items.blind__recipients LIKE '%danw%'
GO

⑨ sql 中怎么把数据弄成报表进行邮件发送

SQL 本身就可以发送邮件
https://msdn.microsoft.com/zh-cn/library/ms190307(v=sql.90).aspx
将你的数据变成附件类型的报表,再自动发送

⑩ sql发邮件@query字符串拼接

set @query =' select * from b where [数据]> (select [数据] from a where convert(varchar(10),orderTime,120)=convert(varchar(7),orderTime,120)+'+char(ascII('+'))+char(39)+01+char(39)+')'