我的桌子上有一列col1
正在减少。当col1
获取值0时,我希望col1
获取名为col2
的列的值,并使用col2传递获取值0.
PD:当我进行插入时,我已经有一个减少列的触发器。当我的触发器终于到达时,col1=0
我需要通过col1
和col2
更改col2=0
的其他触发器。我已尝试使用以下触发器,但无法正常工作
create Trigger tr on table
after insert,update As
declare @id int
set @id=(select inserted.ID_TABLE from inserted)
UPDATE table
SET col1 = CASE WHEN col1=0 THEN col2
END
UPDATE table
set col2=0
where ID_TABKE=@id
答案 0 :(得分:1)
试用此代码
更新表名" TableTrigger
"使用您的表名
create Trigger tr on TableTrigger
after insert,update
As
UPDATE TableTrigger
SET col1 = CASE WHEN TableTrigger.col1=0 THEN TableTrigger.col2 else TableTrigger.col1 END,
col2 = CASE WHEN TableTrigger.col1=0 THEN 0 else TableTrigger.col2 END
from TableTrigger
JOIN inserted
ON TableTrigger.id = inserted.id
答案 1 :(得分:0)
试试这个未经测试。因为你没有提到col1应该只在col1 = 0时更新所以我删除了案例
UPDATE A
SET a.col1 = b.col2,
a.col2 = 0
FROM table a
JOIN inserted b
ON a.id = b.id