SQL Server Trigger可以给我发电子邮件吗?

时间:2009-11-23 00:02:00

标签: sql-server-2008 email stored-procedures

我希望在我的SQL Server 2008计算机上发送来自Trigger的电子邮件。电子邮件的数据基本上是一些触发器信息。

有人可以提供一些关于如何执行此操作的简单/示例代码吗?例如。什么是系统存储过程调用?等

我没有设置任何SQL邮件和东西,所以我猜它是内置的,我可以利用它。但只是为了确定:我是否需要在服务器上安装任何额外的软件?

2 个答案:

答案 0 :(得分:5)

此示例在titles表更改时向指定人员(MaryM)发送电子邮件。

USE pubs
IF EXISTS (SELECT name FROM sysobjects
      WHERE name = 'reminder' AND type = 'TR')
   DROP TRIGGER reminder
GO
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE, DELETE 
AS
   EXEC master..xp_sendmail 'MaryM', 
      'Don''t forget to print a report for the distributors.'
GO

来源:MSDN

答案 1 :(得分:4)

触发器应保持最短时间。应允许原子数据库更新/插入/删除尽可能快。考虑添加一个单独的表,触发器可以插入一个单独的进程监视并根据内容启动电子邮件的数据。

当然,这并不能解决是否可以使用TransactSQL创建电子邮件 - 我自己很好奇!