Frage zu einer Oracle SQL-Prozedur



  • Hi Leute!

    Ich möchte eine SQL-Prozedur schreiben. Was die Prozedur machen soll, kan ein bisschen sinnlos erscheinen, aber das is ja auch nur eine Übung. Hier mal mein bisheriger query:

    ACCEPT Eingabe char PROMPT 'Neue Berechtigung für Mitarbeiter: ';
    
    create or replace procedure grant_user(Eingabe char) 
    
    as
    
    begin
    
    grant select on Personal to &Eingabe;   /*"Berechtigt den User mit dem jeweiligen Rechten. Beachte das "&" vor "Eingabe"*/
    grant select on Kunde to &Eingabe;
    
    grant all on Teilestamm to &Eingabe;
    grant all on Lager to &Eingabe;
    
    grant select, insert on Lieferant to &Eingabe;
    grant update(Strasse, PLZ, Ort) on Lieferant to &Eingabe;
    
    end;
    

    Wenn ich diesen query nun im SQL-Developer ausführe, dann muss ich 6 mal den zu Berechtigenden Mitarbeiter eingeben. Das erscheint mir schon komisch, denn ich will ja eigentlich den des Mitarbeiters nur einmal eingeben müssen und die Prozedur soll dann den Namen eben so oft wieder verwenden wie die Variable "Eingabe" benutzt wird. Des Weiteren kommt ein Warning, dass die Ausführung mit Warnungen abgeschlossen worden sind. Ich weiß ehrlich gesagt nicht, wo meine Fehler liegen. Könnt ihr mir ein bisschen helfen?

    Danke!


Anmelden zum Antworten