1

我有一个名为 person 的表,其中一个属性是 years_worked。

我需要找到一种方法来限制 years_worked 的减少,以便触发器/断言(不确定在此处使用什么)只允许增加更新。

4

1 回答 1

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
于 2012-01-25T18:27:50.793 回答