我有以下结构的架构;
在MPRMain
表中,Status
可以是1(Aprove)、2(Cancel) 和 3(Pending)。我正在尝试做这样的事情,例如当有人将Status
(in MPRMain) 更新为2(Cancel)时。我想将表的更新为Status
0 (0 表示禁用,1 表示启用)。
所以,我试图为它创建一个触发器,看起来像这样;MPRDetail
Alter Trigger Inventory.MprMainUpdate
ON Inventory.MPRMain
AFTER UPDATE
AS
BEGIN
declare @status as int;
set @status = (SELECT Status FROM inserted);
if(@status=2)
BEGIN
UPDATE Inventory.MPRDetail
SET Status = 0 -- update the status to canceled
WHERE MPRId = (select MPRId from inserted);
END
END
但是,当我尝试将Status
a设置MPRMain
为2 (Cancel) From 1 (Aprove)时,我在MPRDetail
表中看不到任何更改。这应该将MPRDetail
状态更新为 0(0 表示禁用)。