【问题标题】:How to create view and trigger如何创建视图和触发器
【发布时间】:2017-03-22 11:05:09
【问题描述】:

我正在尝试发送一封通知电子邮件,她的运行总数达到或超过了设定值(如销售目标公告)..:

我有查询以获取运行总数:

DECLARE @TBL TABLE(id int, amount int);

INSERT INTO @TBL 
VALUES (1, 100), (2, 100), (3, 60), (4, 200), (5, 100);

SELECT t1.ID, t1.amount, SUM(t2.amount) as CumTotal
FROM @TBL t1
CROSS APPLY (SELECT *
             FROM @TBL
             WHERE ID <= t1.id) t2
GROUP BY t1.ID, t1.amount
HAVING SUM(t1.amount) < 300
ORDER BY t1.ID;

对于这个查询,设置触发器来触发 dbmail 的最有效方法是什么?

我使用的是 SQL Server 2008 R2

【问题讨论】:

    标签: sql-server triggers cumulative-sum dbmail


    【解决方案1】:

    使用作业,以特定时间间隔运行。

    EXEC msdb.dbo.sp_send_dbmail @profile_name='',
    @recipients='',
    @subject='',
    @body=@message
    

    【讨论】:

    • Gotcha...我明白,但是,我认为我的根本问题是确定何时达到或超过该值并且只推送一次电子邮件。如何在查询中识别该值?尤其是当您的值可以完全匹配或超过所需目标时?
    • 在什么情况下要发送邮件?示例:IF @CumTotal&gt;1000
    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2010-10-08
    • 2014-08-11
    • 2013-11-30
    相关资源
    最近更新 更多