Affirmation / déclencheur SQL: comment définir un attribut à une baisse des mises à jour
Question
J'ai un tableau appelé Person, l'un des attributs est des années_worked.
J'ai besoin de trouver un moyen de restreindre les années_worked d'être diminué, de sorte qu'un déclencheur / affirmation (je ne sais pas quoi utiliser ici) ne permettra que des augmentations des mises à jour.
La solution
Le code ci-dessous reviendra tout years_worked
Les valeurs mises à jour qui ne relèvent pas de votre restriction à ce qu'elles étaient avant la mise à jour. C'est pour serveur SQL, Je ne peux pas parler pour d'autres SGBDR.
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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow