Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --36
- DECLARE
- sumaPrzydzialow NUMBER:=0;
- zmian NUMBER:=0;
- podwyzka NUMBER:=0;
- przydzial KocuryR.PRZYDZIAL_MYSZY%TYPE;
- CURSOR odMinPrzydzialu IS
- SELECT
- PSEUDO,
- (SELECT MAX_MYSZY FROM FUNKCJE F WHERE K.FUNKCJA = F.FUNKCJA) maxBandy
- FROM KocuryR K
- ORDER BY 2;
- kot odMinPrzydzialu%ROWTYPE;
- BEGIN
- <<petla>>LOOP
- OPEN odMinPrzydzialu;
- LOOP
- FETCH odMinPrzydzialu INTO kot;
- SELECT SUM(PRZYDZIAL_MYSZY) INTO sumaPrzydzialow FROM KocuryR;
- EXIT WHEN odMinPrzydzialu%NOTFOUND;
- IF sumaPrzydzialow <= 1050
- THEN
- SELECT PRZYDZIAL_MYSZY INTO przydzial FROM KocuryR WHERE pseudo = kot.pseudo;
- IF kot.maxBandy < ROUND(1.1*przydzial)
- THEN podwyzka:=kot.maxBandy-przydzial;
- ELSE podwyzka:=ROUND(0.1*przydzial);
- END IF;
- IF podwyzka != 0
- THEN zmian:=zmian+1;
- END IF;
- UPDATE KocuryR SET PRZYDZIAL_MYSZY = PRZYDZIAL_MYSZY + podwyzka
- WHERE pseudo = kot.pseudo;
- ELSE
- DBMS_OUTPUT.PUT_LINE('Calk. przydzial w stadku ' || sumaPrzydzialow||' Zmian - ' || zmian);
- EXIT petla;
- END IF;
- END LOOP;
- CLOSE odMinPrzydzialu;
- END LOOP;
- END;
- SELECT
- imie,
- NVL(przydzial_myszy,0) "Myszki po podwyzce"
- FROM KocuryR;
- rollback;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement