我有一个名为person的表,其中一个属性是years_worked。
我需要找到一种方法来限制years_worked减少,以便减少 触发器/断言(不知道在这里使用什么)只会增加更新。
答案 0 :(得分:1)
以下代码只会将不属于您的限制的所有years_worked
更新值恢复为更新前的值。这是针对 SQL Server ,我不能代表其他RDBMS'。
create trigger RestrictYearsWorked
on person
after update
as
update person
set years_worked = d.years_worked
from person p
inner join deleted d
on p.yourIdCol = d.yourIdCol
where p.years_worked < d.years_worked
go