Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "Czy jest możliwe przyjęcie zamówienia - czy uruchomione urządzenia będą wstanie wygenerować oczekiwaną energię" - Aby sprawdzić, czy istnieje możliwość przyjęcia zamówienia dla każdego zamówienia, musimy zsumować moc generowaną przez urządzenia, których status jest równy 0 (czyli działających) i porównać ją z oczekiwaną ilością energii w zamówieniach.
- ###########################################################
- DECLARE @oczekiwana_energia DECIMAL(18,0);
- DECLARE @customer_order_id INT;
- DECLARE @wygenerowana_energia DECIMAL(18,0);
- DECLARE orders_cursor CURSOR FOR
- SELECT customer_order_id, customer_order_amount_of_energy
- FROM Customers_Orders;
- OPEN orders_cursor;
- FETCH NEXT FROM orders_cursor INTO @customer_order_id, @oczekiwana_energia;
- WHILE @@FETCH_STATUS = 0
- BEGIN
- SET @wygenerowana_energia = NULL;
- SELECT @wygenerowana_energia = SUM(device_power)
- FROM Renewable_Energy_Devices
- WHERE device_status = 0;
- IF (@wygenerowana_energia >= @oczekiwana_energia)
- PRINT 'Możliwe jest przyjęcie zamówienia o numerze ' + CAST(@customer_order_id AS VARCHAR(50));
- ELSE
- PRINT 'Nie można przyjąć zamówienia o numerze ' + CAST(@customer_order_id AS VARCHAR(50)) + ' - brak wystarczającej ilości energii';
- FETCH NEXT FROM orders_cursor INTO @customer_order_id, @oczekiwana_energia;
- END
- CLOSE orders_cursor;
- DEALLOCATE orders_cursor;
- ###################################################################
- To zapytanie wykonuje następujące czynności:
- Deklaruje zmienną @oczekiwana_energia, która przechowuje oczekiwaną ilość energii w zamówieniu.
- Deklaruje zmienną @customer_order_id, która przechowuje identyfikator zamówienia.
- Deklaruje zmienną @wygenerowana_energia, która przechowuje sumaryczną moc urządzeń odnawialnych, które są w stanie wygenerować energię.
- Tworzy kursor, aby iterować przez wszystkie zamówienia w tabeli Customers_Orders.
- Dla każdego zamówienia z tabeli, oblicza sumaryczną moc urządzeń o statusie 0 (działających) z tabeli Renewable_Energy_Devices.
- Porównuje sumaryczną moc urządzeń z oczekiwaną ilością energii w zamówieniu.
- Wyświetla odpowiedni komunikat dla każdego zamówienia w zależności od wyniku porównania.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement