Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET SERVEROUTPUT ON
- CREATE OR REPLACE PROCEDURE
- UEK4BSP1(P_FLIGHTID NUMBER) IS
- INVALIDFLIGHTID EXCEPTION;
- V_VALIDFLIGHT NUMBER;
- V_TAKENSEATS NUMBER;
- V_CAPACITY NUMBER;
- V_AIRLINEID NUMBER;
- V_CITY_DEPARTURE VARCHAR2;
- V_CITY_ARRIVAL VARCHAR2;
- BEGIN
- SELECT COUNT(*) INTO V_VALIDFLIGHT FROM FLUG F
- WHERE F.FLUGID = P_FLIGHTID;
- IF(V_VALIDFLIGHT != 1) THEN
- RAISE INVALIDFLIGHTID;
- END IF;
- -- Berechnet die belegten Plätze des ausgewählten Fluges
- SELECT COUNT(SITZPLATZNUMMER) INTO V_TAKENSEATS FROM PASSAGIERLISTE
- WHERE FLUGID = P_FLIGHTID;
- -- Berechnet die Gesamtkapazität des ausgewählten Flugzeugs
- SELECT FLT.SITZPLAETZE INTO V_CAPACITY FROM FLUG F, FLUGZEUG FG, FLUGZEUGTYP FLT
- WHERE F.FLUGID = P_FLIGHTID
- AND F.FLUGZEUGID = FG.FLUGZEUGID
- AND FLT.FLUGZEUGTYPID = FG.FLUGZEUGTYPID;
- -- Ausgabe
- DBMS_OUTPUT.ENABLE;
- DBMS_OUTPUT.PUT_LINE('Flugnummer ' || P_FLIGHTID);
- DBMS_OUTPUT.PUT_LINE('Gesamtkapazitaet ' || V_CAPACITY);
- DBMS_OUTPUT.PUT_LINE('Besetzte Plaetze ' || V_TAKENSEATS);
- -- Ausnahmen
- EXCEPTION
- WHEN INVALIDFLIGHTID THEN
- DBMS_OUTPUT.PUT_LINE('Eingegebenen Flug nicht gefunden');
- WHEN OTHERS THEN
- DBMS_OUTPUT.PUT_LINE('Unbekannter Fehler aufgetreten');
- END;
Add Comment
Please, Sign In to add comment