Trigger lub coś co nie pozwoli na wpisanie - SQL server

0

Cześć,
robię projekt sklepu z w którym mam tabele o nazwie zamówienia w której są wiersze data_zamowienia, status zamówienia oraz data_zakonczenia_zamowienia. W przypadku status zamówienia występują 3 możliwe do wyboru opcje - rozpoczęte, w trakcie realizacji, zakończone.
Chciałbym zrobić ograniczenie, lub triggera które nie pozwoliłoby na wpisania daty_zakonczenia zamówienia jeżeli status zamówienia byłby rozpoczęte lub w tekście realizacji. Proszę o pomoc
Pozdrawiam

1

A może warto zmienić logikę? Że data_zakończenia sama (triggerem np.) się wpisuje w momencie zmiany statusu na 'zakończony'?
A myślę, że CHECKiem dało by radę załatwić, ale aktualnie nie mam SQL Servera pod ręką, by spłodzić...

0

Z tym triggerem to nawet lepszy pomysl! Wiesz jak to zrobić?

0

wiem. :)
IF new.status='ZAKONCZONy' THEN new.data_zakonczenia=now();

2

Jestem za implementacją w triggerach najbardziej podstawowych zależności (... hm... blokada skasowania wiersza gdy już doszło do pewnego etapu), ale PRZECIWKO implementowania w nich wyrafinowanej logiki (np: zmiana stanu + wpis w historii, bo zaraz się zacznie doktorat, że jednak nie tylko data, a kto wpisywał, a czy zalogowany na połączeniu SQL to prawdziwy itd... ) To jest ślepa uliczka

1 użytkowników online, w tym zalogowanych: 0, gości: 1