Gå til innhold

Prosedyre problem, med å vise mange filmar


Anbefalte innlegg

Heisann.

Oppgåvetekst:

Lag ei prosedyre DVD_visBrukar som skriv ut ein alfabetisk oversikt over alle filmane for ein gitt brukar_id. Dersom ikkje brukaren eksisterer skal det skrivast ut ein feilmelding.

 

Har laga ein del ulike forslag, men får ikkje akkurat noken til å fungere som det skal.

Bruker Oracle SQL Devoloper, og kommandoen SHOW err har ikkje fungert i heile dag, so veldig usikker på kor mykje som er feil og kva.

 

Hadde blitt takknemlig for litt hjelp.

Limer inn koden eg har komt fram til som eg har mest trua på for tida.

 

Edit: Ny kode.

 

CREATE OR REPLACE PROCEDURE DVD_visBrukar(p_brukarID brukar.ID%TYPE)
IS
 CURSOR visAlleFilmar IS
 SELECT d.tittel
 FROM dvd_eigar de, dvd d
 WHERE de.ID_dvd=d.ID
 AND ID_brukar=p_brukarID
 ORDER BY d.tittel ASC;  
v_visAlleFilmar   visAlleFilmar%ROWTYPE;
v_brukar          brukar%ROWTYPE;
BEGIN
   DBMS_OUTPUT.PUT_LINE('Filmar til brukar');
   DBMS_OUTPUT.PUT_LINE('---------------------------------');
   SELECT * INTO v_brukar FROM brukar WHERE ID=p_brukarID;  
   DBMS_OUTPUT.PUT_LINE(v_brukar.brukarfnamn);
OPEN visAlleFilmar;
LOOP
   FETCH visAlleFilmar INTO v_visAlleFilmar;
   EXIT WHEN visAlleFilmar%NOTFOUND;
   DBMS_OUTPUT.PUT_LINE(v_visAlleFilmar.tittel);
END LOOP;
CLOSE visAlleFilmar;
EXCEPTION
 WHEN NO_DATA_FOUND THEN
 DBMS_OUTPUT.PUT_LINE('Brukar '||p_brukarID||' er ikkje registrert');
END;
/

SHOW err

Endret av TheOneAsk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...