我创建了一个触发器,用于根据已插入T2
的内容向T1
插入一些值。这用于通过监视Status
的值和两个不同状态值之间的报告中的日期差异来审核过程花费了多长时间。
如果i.IdNumber
表中存在i.status
和tblEX1StatusChangeLog
并没有执行任何操作,则我缺少要包含条件的位置。
任何帮助将不胜感激,并在此先感谢。
我的问题是,无论如何,如果相关对象被修改,我会看到重复的状态值和IdNumber,其中对于每个ID号,它们应该仅是唯一状态。我知道我可以对报告中的数据进行按摩以提供所需的结果,即使有重复项也可以,但是我想最小化进入changelog表的数据。
create trigger trgEx1StatusChange
on tblEx1
after update, insert
as
begin
insert into tblEx1StatusChangeLog (IdNumber, UpdatedOn, Status, updatedby)
select i.IdNumber, GETDATE(), i.Status, SUSER_NAME()
from tblQuotes as t
inner join inserted as i on t.IdNumber = i.IdNumber
end
我希望看到这些结果
IdNumber UpdatedOn Status UpdatedBy
----------------------------------------------
100001 04102019 Open domain/user
100001 04132019 Closed domain/user
不是
IdNumber UpdatedOn Status UpdatedBy
----------------------------------------------
100001 04102019 Open domain/user
100001 04102019 Open domain/user (if the object related to idNumber-100001 is edited but status is not changed)
100001 04132019 Closed domain/user
答案 0 :(得分:0)
您可以使用numeach
:
not exists