我有附加的触发器,如果tbl_repair_visit.TENANTSATISFACTION = 'Poor'在更新时运行.
我有这个问题,如果我们更改工程师名称,工程师列会更新,触发器会再次运行 TENANTSATISFACTION = 'Poor'
我如何将其设置为仅在TENANTSATISFACTION = 'Poor'列更新时运行并忽略所有其他列的更新
ALTER TRIGGER [dbo].[tr_CustomerSatisfactionAlertRepair]
ON [dbo].[tbl_repair_visit]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
INSERT alertmessagedata (TypeID, Contract, Address, ORDERID,
ENGINEERS, Sent, DateAdded)
SELECT '5', tbl_property.contract, tbl_property.fulladdress,
tbl_repair_visit.orderid, tbl_repair_visit.engineer,
0, GETDATE()
FROM TBL_REPAIR_VISIT
INNER JOIN
INSERTED X ON TBL_REPAIR_VISIT.VISITID = X.VISITID
INNER JOIN
TBL_PROPERTY ON TBL_REPAIR_VISIT.PROPREF = TBL_PROPERTY.PROPREF
WHERE tbl_repair_visit.TENANTSATISFACTION = 'Poor'
END
Run Code Online (Sandbox Code Playgroud)