SQL التأكيد/الزناد:كيفية تعيين سمة تمنع خفض التحديثات

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

  •  14-11-2019
  •  | 
  •  

سؤال

لدي جدول يسمى الشخص ، واحدة من السمات years_worked.

أنا بحاجة إلى إيجاد وسيلة لتقييد years_worked من أن ينخفض ، بحيث الزناد/التأكيد (غير متأكد ما هنا) سوف تسمح فقط يزيد على التحديثات.

هل كانت مفيدة؟

المحلول

رمز أدناه سوف تعود فقط جميع 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