代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

SQL Server触发器是否可以向我发送电子邮件?

  •  5
  • Pure.Krome  · 技术社区  · 15 年前

    我想从 Trigger ,在我的SQL Server 2008计算机上。电子邮件的数据基本上是一些触发信息。

    请问有人能提供一些简单的/示例代码来说明如何操作吗?例如,系统存储过程调用了什么?等。

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

    2 回复  |  直到 10 年前
        1
  •  5
  •   Andrew Barber Tejas Tank    10 年前

    此示例在标题表更改时向指定的人(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

        2
  •  4
  •   Kieveli    15 年前

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

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