更新或插入后如何将插入的正值转换为负值?

How to convert positive inserted values into negative after update or insert?

我想编写一个触发器,用于查找插入或更新的值是否为正值并将其替换为负值。 我试过这段代码:

create trigger trigger_after_updaten on Inbox
AFTER Update 
AS
begin
DECLARE @t INT 
If ((SELECT @t=ID_In FROM updated)>0) 
UPDATE Inbox SET t=@t*-1
END

但它显示此错误:

Msg 102, Level 15, State 1, Procedure trigger_after_updaten, Line 223
Incorrect syntax near '='.

如何正确操作?

这应该适用于您的触发器:

CREATE TRIGGER trigger_after_updaten on Inbox
AFTER UPDATE 
AS
BEGIN
    UPDATE Inbox SET t = CASE WHEN(inserted.t < 0) THEN inserted.t ELSE -inserted.t END
    FROM inserted
    INNER JOIN Inbox 
        ON inserted.KEY_FIELD = Inbox.KEY_FIELD
END