Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "Czy awaria danego urządzenia zagraża czasom poprawnej realizacji już zgłoszonych zleceń" - użycie mechanizmu triggera. Trigger pozwala na automatyczne wykonanie określonych działań w odpowiedzi na określone zdarzenia, takie jak dodanie, aktualizacja lub usunięcie danych w tabeli. Trigger ten jest wyzwalany po wstawieniu lub aktualizacji wiersza w tabeli Device_Failures, który wskazuje na awarię urządzenia. Sprawdza on, czy istnieją zlecenia klientów, których daty realizacji kolidują z czasem trwania awarii tego urządzenia. Jeśli takie zlecenia istnieją, trigger wyświetla komunikat o potencjalnym zagrożeniu.
- ######################
- CREATE TRIGGER CheckOrderCompletionTime
- ON Device_Failures
- AFTER INSERT, UPDATE
- AS
- BEGIN
- DECLARE @device_id NVARCHAR(26);
- DECLARE @failure_start DATETIME;
- DECLARE @failure_end DATETIME;
- DECLARE @order_id INT;
- -- Pobierz dane dotyczące nowej awarii
- SELECT @device_id = device_id, @failure_start = failure_start, @failure_end = failure_end
- FROM inserted;
- -- Sprawdź, czy istnieją zlecenia klientów, których daty realizacji kolidują z czasem trwania awarii urządzenia
- IF EXISTS (
- SELECT 1
- FROM Customers_Orders
- WHERE (customer_order_date_start BETWEEN @failure_start AND @failure_end
- OR customer_order_date_end BETWEEN @failure_start AND @failure_end
- OR @failure_start BETWEEN customer_order_date_start AND customer_order_date_end
- OR @failure_end BETWEEN customer_order_date_start AND customer_order_date_end)
- -- AND device_id = @device_id -- tu trzeba by jeszcze uzupełnić tabelę zamówień o pole device_id (mapowanie zamówienia do konkretnego urządzenia)
- )
- BEGIN
- PRINT 'Uwaga! Awaria urządzenia ' + @device_id + ' może zagrażać czasom poprawnej realizacji zleceń.';
- END
- END;
- #############################
- Trigger można dostosować do konkretnych potrzeb i warunków biznesowych, które mają być uwzględnione podczas sprawdzania zagrożenia dla realizacji zleceń.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement