SQL断言/触发器:如何设置属性以禁止减少更新

时间:2012-01-25 18:22:04

标签: sql triggers assertion

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

我需要找到一种方法来限制years_worked减少,以便减少 触发器/断言(不知道在这里使用什么)只会增加更新。

1 个答案:

答案 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