SQL Assertion / Trigger: Как установить атрибут, чтобы запретить уменьшение обновлений
Вопрос
У меня есть таблица под названием человек, один из атрибутов - рабочих лет.
Мне нужно найти способ ограничить годы_ работу от уменьшения, так что триггер / утверждение (не уверена, что использовать здесь), только позволят увеличить обновления.
Решение
Приведенный ниже код просто вернут все обновленные значения 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