SQLアサーション/トリガ:更新を減らすことを禁止するための属性を設定する方法

StackOverflow https://stackoverflow.com/questions/9008038

  •  14-11-2019
  •  | 
  •  

質問

私は人と呼ばれるテーブルを持っています、属性の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
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top