我有一个名为 person 的表,其中一个属性是 years_worked。
我需要找到一种方法来限制 years_worked 的减少,以便触发器/断言(不确定在此处使用什么)只允许增加更新。
下面的代码只会将所有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