次の構造のスキーマがあります。
表では、は
1 (承認)、2 (キャンセル)、および 3 (保留)です。私はこのようなことをしようとしています。たとえば、誰かが(MPRMain 内の) を2(Cancel)に更新したときです。テーブルの を0 (無効の場合は 0、有効の場合は 1)に更新したい。
だから、私はこのようなトリガーを作成しようとしました;MPRMain
Status
Status
Status
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
aMPRMain
を2 (キャンセル)から1 (承認)MPRDetail
に設定しようとすると、テーブルに変更が表示されません。MPRDetail
これにより、ステータスが 0 (無効の場合は 0) に更新されます。