Как запустить метку времени, которая будет установлена ​​при обновлении столбца? - PullRequest
0 голосов
/ 31 января 2012

У меня есть стол с именем Card:

Card:
id (char(10))
points (int)
activated (bool)
activationDate(DateTime)

По умолчанию для активированного установлено значение false. То, что я хотел бы сделать, - это установить activDate в первый раз, когда после обновления карты активируется установлено значение true.

1 Ответ

1 голос
/ 31 января 2012

может быть что-то вроде этого

create trigger TriggerName
on Card
for update as
if update(activated )
     begin
         if exists (select activated from card
         where activated= false  && ID =SomeValue)
     begin
         rollback trigger with
         raiserror 24004 "Update failed "
     end
     else
     begin
         update Card
         set activationDate= GETDATE() Where ID=someValue
     end
    end 
...