Hi zusammen,
sitze gerade an einer Aufgabe:
1a. Schreiben Sie eine Stored Procedure, die die Anzahl der Flugstunden eines Piloten (STUNDENANZAHL in der Tabelle PILOT) um die Anzahl der Flugstunden eines Fluges (FLUGZEIT in der Tabelle FLUGTYP) erhöht in Abhängigkeit von der PERSONALNUMMER des Piloten und der FLUGNUMMER.
1b. Überzeugen Sie sich von der Richtigkeit der Stored Procedure durch interaktiven Test in SQL*PLUS mit geeigneten Übergabeparametern.
Meine Überlegung dazu ist, wenn ich die Aufgabe richtig verstanden habe, ich soll also die Prozedur aufrufen mit z.b. updateflugstunden(personalnummer, flugnummer) und die entsprechenden Variablen dann benutzen. Also bekommt der Pilot mit der Nummer X dann die Flugzeit des Fluges Y gutgeschrieben. Sehe ich das so richtig?
Sollte doch so funktionieren, oder?
Mod-Edit: Doppelpost zusammengeführt (XraYSoLo)
sitze gerade an einer Aufgabe:
1a. Schreiben Sie eine Stored Procedure, die die Anzahl der Flugstunden eines Piloten (STUNDENANZAHL in der Tabelle PILOT) um die Anzahl der Flugstunden eines Fluges (FLUGZEIT in der Tabelle FLUGTYP) erhöht in Abhängigkeit von der PERSONALNUMMER des Piloten und der FLUGNUMMER.
1b. Überzeugen Sie sich von der Richtigkeit der Stored Procedure durch interaktiven Test in SQL*PLUS mit geeigneten Übergabeparametern.
Meine Überlegung dazu ist, wenn ich die Aufgabe richtig verstanden habe, ich soll also die Prozedur aufrufen mit z.b. updateflugstunden(personalnummer, flugnummer) und die entsprechenden Variablen dann benutzen. Also bekommt der Pilot mit der Nummer X dann die Flugzeit des Fluges Y gutgeschrieben. Sehe ich das so richtig?
Code:
CREATE OR REPLACE
PROCEDURE UPDATEFLUGSTUNDEN (ANR INT, FNR CHAR(6)) IS
DECLARE
CURSOR FlugzeitCursor IS SELECT flugzeit FROM FLUGTYP F WHERE F.flugnummer = FNR;
flugzeitRecord FlugzeitCursor%ROWTYPE;
BEGIN
IF NOT FlugzeitCursor%ISOPEN
THEN
OPEN FlugzeitCursor;
END IF;
FETCH FlugzeitCursor INTO FlugzeitRecord;
UPDATE PILOT SET STUNDENANZAHL = STUNDENANZAHL+FlugzeitRecord.Flugzeit WHERE Personalnummer = ANR;
END;
Sollte doch so funktionieren, oder?
Mod-Edit: Doppelpost zusammengeführt (XraYSoLo)
Zuletzt bearbeitet von einem Moderator: