我希望在将新行添加到我的Vendor表时显示触发器。 到目前为止,我编写的查询是:

CREATE TRIGGER tVendorAdded
ON Vendors
AFTER UPDATE
AS
BEGIN
    INSERT INTO AlertTable
       SELECT  
           VendorID, VendorName, GETDATE(),
           'Vendor Added', 'New vendor, ' + VendorName + ', added'
       FROM 
           inserted
       WHERE --
END
GO

我要在where子句中添加些什么才能使这种情况发生? 我应该尝试其他不同/更好的选择吗?

#1楼 票数:1 已采纳

您不需要WHERE子句:

CREATE TRIGGER tVendorAdded ON Vendors
AFTER UPDATE AS
BEGIN
    INSERT INTO AlertTable (VendorId, VendorName, ?, ?, ?)
        SELECT VendorID, VendorName, getdate(), 'Vendor Added',
              'New vendor, ' + VendorName + ', added'
        FROM inserted;
END;

您应该在INSERT语句中包括列名称。 ? 用于相应列的名称。

  ask by ShreddedSaber translate from so

未解决问题?本站智能推荐:

1回复

MicrosoftCRM4.0在SQL中的IncidentBase表(案例)上添加带有电子邮件警报的触发器后显示错误

几个小时以来,我一直试图找到解决这个问题的方法,但没有运气。 让我解释一下情况。 有一个 Microsoft CRM 4.0 服务器,我们需要在用户取消案例时添加电子邮件警报。 有两种可能的方法来做到这一点,第一种是通过自定义菜单(我们可以访问)通过案例表单上的“OnSave”事件,第二种是直接在
1回复

SQLServer-创建一个触发器,当产品数量达到1时将记录到警报中

我被要求编写一个查询/脚本,该查询/脚本将导致问题标题中描述的内容发生。 这是被询问的内容: 您被要求创建一个触发器,当任何产品的现有数量减少到1时,该触发器将记录到警报表中。 创建以下内容: 用于创建警报表的脚本。 (它至少必须具有日期时间戳记,警报类型,警报描述)。
1回复

将特定值插入AzureSQL表的表列时触发代码

我正在寻求有关基于发生特定事件来触发代码运行的方法的建议。 基本上,我需要监视表中的所有插入并将列值与另一个表中的参数集进行比较。 例如,当向表中添加新记录并且[温度]列大于30(这是在另一个表中设置的值)时。 发送警报电子邮件以通知这种情况。
1回复

每次触发警报时,连接到逻辑应用Webhook的Azure警报操作都会触发两次

我在 Azure Monitor 中遇到了这个奇怪的问题,每次触发时,指向 webhook 的警报操作都会触发两次。 (我假设它不是必然触发两次的警报,而是接收它的逻辑应用程序出于某种原因触发了两次) 行动警报设置 操作时间戳 相关逻辑应用示例运行历史记录 基本逻辑应用程序设置 这是将动作警报连接
1回复

即使满足条件,逻辑应用程序也不会在第一个警报后触发警报

我的逻辑应用程序每分钟持续轮询到 SFTP 位置。 如果连续跳过 5 分钟(即 5 次),我会收到警报(电子邮件)。 即使在满足警报条件后,它也只会触发一次警报。如果我更新警报规则中的任何条件,则它会再次触发一次,然后即使满足其条件也不会触发。 我在Trigger Skipped上添加了警报。 逻辑
2回复

Sql触发器在表更新时添加新行

我是 sql 触发器的新手,并在为 asp.net 应用程序开发触发器时学习。我遇到的情况是,我需要先保存表然后编辑同一个表 - 此编辑在不同的表中创建新行,但问题是每次我编辑了它在不同的表中创建新行的表我想在不同的表中创建行仅用于第一次编辑。 为可读性划分我的问题。 我有两个表:表 A 和表 B
1回复

SQLServer触发器:如果列A为空或空,则插入新行时将SET值设置为X

我正在尝试创建一个 SQL Server 触发器,以便在CONTACT插入新行时,如果列Contact_Type为空白''或NULL ,则应将其设置为PCON 。 我创建的触发器不起作用。 我之前没有创建任何触发器,所以我已经超出了我的深度,任何帮助将不胜感激。 我假设我在插入表的 where 子句
6回复

存储过程执行时间过长的SQLAlert

我想设置一个SQL Server 2008警报,以便在任何过程执行1秒或更长时间时通知我(仅举例)。 有任何想法吗? 编辑: 好吧,似乎这是不可能的。 但是,只是为了向另一个方向推动你,我知道master数据库中有统计表,它们包含编译计数,调用次数和其他各种统计信息。 我可以定期