Affirmation / déclencheur SQL: comment définir un attribut à une baisse des mises à jour

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

  •  14-11-2019
  •  | 
  •  

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.

Était-ce utile?

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
scroll top