SQL Assertion / Trigger: Как установить атрибут, чтобы запретить уменьшение обновлений

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

  •  14-11-2019
  •  | 
  •  

Вопрос

У меня есть таблица под названием человек, один из атрибутов - рабочих лет.

Мне нужно найти способ ограничить годы_ работу от уменьшения, так что триггер / утверждение (не уверена, что использовать здесь), только позволят увеличить обновления.

Это было полезно?

Решение

Приведенный ниже код просто вернут все обновленные значения 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