【发布时间】:2008-11-17 02:33:11
【问题描述】:
我们如何创建一个触发器来在表上的任何插入或删除操作上发送电子邮件。它应该发送电子邮件,并且它应该具有服务器和数据库的位置。请告诉我。
【问题讨论】:
标签: sql-server sql-server-2005
我们如何创建一个触发器来在表上的任何插入或删除操作上发送电子邮件。它应该发送电子邮件,并且它应该具有服务器和数据库的位置。请告诉我。
【问题讨论】:
标签: sql-server sql-server-2005
您需要在 SqlServer 2005 中设置 dbmail(如果您还没有)。
在触发器内部,只需发送如下内容:
EXEC msdb.dbo.sp_send_dbmail
@recipients=N'me@address.com',
@subject=@sbj,
@blind_copy_recipients=N'you@address.com, himtoo@address.com',
@body=@Msg ;
显然填充变量 - 您可以从插入的数据中提取它们。基本触发器信息在 BOL 中很容易找到,我们使用以下方式拉动插入:
(select * from inserted)
然后分配给变量,如:
SELECT @Msg = MessageText, @Subject= Subject FROM Inserted
MessageText 和 Subject 将是插入行中的列。如果您愿意,只需为 Location 和 ServerName 添加您自己的变量...
【讨论】: