SQLアサーション/トリガ:更新を減らすことを禁止するための属性を設定する方法
質問
私は人と呼ばれるテーブルを持っています、属性の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
所属していません StackOverflow