75 lines
1.7 KiB
SQL
75 lines
1.7 KiB
SQL
|
|
--Funktionstest mostValuableClerk:
|
|
|
|
BEGIN
|
|
--Test für die letzten 5 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
|
|
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(5));
|
|
--Output: 2
|
|
END;
|
|
BEGIN
|
|
--Test für die letzten 12 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
|
|
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(12));
|
|
--Output: 3
|
|
END;
|
|
BEGIN
|
|
--Test für die letzten 0 Monate (Fehler da keine Daten vorhanden/ 0 Monate nicht semantisch sinnvoll:
|
|
DBMS_OUTPUT.PUT_LINE('Wertvollster Mitarbeiter:');
|
|
DBMS_OUTPUT.PUT_LINE(mostValuableClerk(0));
|
|
--Output: ---
|
|
END;
|
|
|
|
|
|
|
|
--Prozedurtest getLastBookings:
|
|
DECLARE
|
|
ids bookingIds;
|
|
BEGIN
|
|
--Test für die letzten 7 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Letzten Buchungen:');
|
|
ids := getLastBookings(5);
|
|
FOR id IN ids.FIRST..ids.LAST
|
|
LOOP
|
|
DBMS_OUTPUT.PUT_LINE(id);
|
|
END LOOP;
|
|
--Output: 1-10
|
|
END;
|
|
DECLARE
|
|
ids bookingIds;
|
|
BEGIN
|
|
--Test für die letzten 9 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Letzten Buchungen:');
|
|
ids := getLastBookings(9);
|
|
FOR id IN ids.FIRST..ids.LAST
|
|
LOOP
|
|
DBMS_OUTPUT.PUT_LINE(id);
|
|
END LOOP;
|
|
--Output: 1-14
|
|
END;
|
|
|
|
|
|
|
|
--Prozedurtest rooms:
|
|
|
|
BEGIN
|
|
--Test für Client 10 und letzten 5 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
|
|
rooms(10, 5);
|
|
--Output: 8+9+10
|
|
END;
|
|
BEGIN
|
|
--Test für Client 3 und letzten 8 Monate:
|
|
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
|
|
rooms(8, 8);
|
|
--Output: 5
|
|
END;
|
|
BEGIN
|
|
-- Fehler: Neuer Client hat keine Buchungen
|
|
INSERT INTO Person VALUES (555, 'Max', 'Müller', 28, 1);
|
|
INSERT INTO CLIENT VALUES (555, 17980641);
|
|
|
|
DBMS_OUTPUT.PUT_LINE('Gebuchte Zimmer:');
|
|
rooms(555, 8);
|
|
-- Output: none
|
|
END;
|