Witam.
Jest sobie następujące tabela w bazie danych, przechowująca nagłówki dokumentów (faktur) (tylko interesujące nas w tym momencie pola):
DOKUMENTY
ID_dokumentu
Numer_dokumentu
Data_dokumentu
Wszystkie pola są liczbami całkowitymi - data jest przechowywana jako kolejny numer dnia (nie wiem, czemu akurat w ten sposób, ale to nieistotne).
ID_dokumentu to klucz główny tabeli.
Numer_dokumentu to numer, który drukuje się w nagłówku faktury.
W tym momencie możliwe jest zupełnie dowolne i niezależne od siebie ustawienie pól Numer_dokumentu i Data_dokumentu, co bardzo się nie podoba księgowej.
Muszę napisać trigger na insert/update tabeli, który podnosi błąd w sytuacji, gdy kolejność dokumentów posortowanych po numerze nie zgadza się z kolejnością dokumentów posortowanych po dacie - na przykład następujący stan jest poprawny:
Numer | Data |
---|---|
121 | 200 |
122 | 201 |
123 | 201 |
124 | 201 |
125 | 202 |
A poniższy błędny (powinien wyrzucić błąd przy tworzeniu jednego z dokumentów)
Numer | Data |
---|---|
121 | 200 |
122 | 201 |
123 | 203 |
124 | 201 |
125 | 202 |
Mam nadzieję, że opisałem problem w miarę jasno.
Czy ktoś może mi podpowiedzieć, jak się za to zabrać?