InsERT GT => Subiekt GT => Wątek zaczęty przez: Zelman w Maj 11, 2017, 13:24:04

Tytuł: Wymuszenie przeliczenia rezerwacji w SQL
Wiadomość wysłana przez: Zelman w Maj 11, 2017, 13:24:04
Zrobiłem takie zapytanie SQL do bazy Subiekta:
Update [Nazwa_bazy]
SET dok_Status = '6'
where where dok_NrPelny like 'ZK%' and dok_Status = '7' and dok_DataWyst > DATEADD(day, -30, GETDATE()) and dok_DataWyst < DATEADD(day, -7, GETDATE())
dzięki, któremu zamówienia starsze niż 7 dni, ale nie starsze, niż 30 dni mają zmienione "rezerwuj stany magazynowe" na "nie rezerwuj stanów magazynowych".
To działa dobrze, ale problem jest taki, że po zmianie statusu dokumentu zamówienia z dok_Status = '7' na dok_Status = '6', rezerwacje z tych zamówień zostają na produktach.
Jak wymusić/wywołać przeliczenie rezerwacji po wykonaniu powyższego zapytania SQL?
Tytuł: Odp: Wymuszenie przeliczenia rezerwacji w SQL
Wiadomość wysłana przez: Zelman w Maj 11, 2017, 13:26:06
jeszcze zapomniałem, w linijce set ustawiam jeszcze:
dok_JestRuchMag = '0'
Tytuł: Odp: Wymuszenie przeliczenia rezerwacji w SQL
Wiadomość wysłana przez: birds22 w Maj 11, 2017, 13:36:18
Skoro zmieniasz za pomocą SQL to musisz zmienić we wszystkich miejscach - samo się nic nie przeliczy. Zobacz jak to robi program profilerem to będziesz wiedział. Inny sposób to wykonywanie tego za pomocą sfery, co uchroni Ciebie przed ewentualnymi błędami.
Tytuł: Odp: Wymuszenie przeliczenia rezerwacji w SQL
Wiadomość wysłana przez: dkozlowski w Maj 12, 2017, 20:02:50
Najprościej będzie zaktualizować zarezerwowane ilości na podstawie pozostałych zamówień z rezerwacją.