1

person というテーブルがあり、属性の 1 つは 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 に答える