【问题标题】:SQL - Update TriggerSQL - 更新触发器
【发布时间】:2018-11-28 10:17:19
【问题描述】:

我有以下表格:

事件(IDEvent、IDBracelet、IDSensor、DateTime、TypeofEvent); 传感器(IDSensor,IDArea); Days_Areas(IDFestivalDay, IDBracelet, IDArea)。

当手镯无权进入某个区域时,我一直在尝试更新事件。 到目前为止,我已经完成了以下操作,它适用于每种情况,除了我同时插入正确和错误的事件时。

update Events
set TypeofEvent='red'
from inserted i,Events e
where i.IDEvent=e.IDEvent and exits (select * from inserted i join Days_Areas a on i.IDBracelet=a.IDBracelet join
 Sensor s on s.IDSensor=i.IDSensor where a.IDArea <> s.IDArea); 

此触发器是插入后更新。 有谁可以告诉我问题出在哪里?

编辑:我对这个触发器还有另一个问题。 当我尝试同时插入一个事件时,同一个手镯经过一个有权限的传感器并经过另一个没有权限的传感器,正确的事件仍然变为红色。

我该如何解决这个问题?

【问题讨论】:

    标签: sql sql-server tsql triggers


    【解决方案1】:

    试试这个:

    update Events
    set TypeofEvent='red'
    from inserted i
    INNER JOIN Events e
        ON i.IDEvent=e.IDEvent 
    INNER join Days_Areas a 
        on i.IDBracelet=a.IDBracelet
    INNER join Sensor s 
        on s.IDSensor=i.IDSensor 
    where a.IDArea <> s.IDArea
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-03
      • 2011-06-03
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      相关资源
      最近更新 更多