• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Oracle PL/SQL Stored Procedures

skizZ

Mitglied
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?

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:
Zurück
Oben