espset Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 Hei, har en liten oppgave på skolen ang. PL/SQL og er ikke helt stødig. Så jeg håper på hjelp her inne. TABELLENE - radene: POST - Postnr - Postested KUNDE - KundeNr - Navn - Adresse - Postnr - FDato LIV - PoliseNr - KundeNr - Premie - AntTermin - SpareAndel - Slado - UtBetDato 1. Skriv en PL/SQL-prosedyre som beregner (og skriver ut til skjerm) samlet årlig premie for en gitt kunde (kundenr). 2. Lag en trigger som kontrollerer at spareandelen er mellom 5 % og 30 % ved innlegging av data i LIV-tabellen. En feilmelding skal genereres hvis spareandelen er utenfor intervallet. 3. Lag en trigger som ved innbetaling oppdaterer saldo i tabellen LIV. Har prøvd å gjøre noen forsøk selv, men vet ikke helt om jeg tør å poste dem her. Takk for eventuell hjelp! Lenke til kommentar
terjeelde Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 Har prøvd å gjøre noen forsøk selv, men vet ikke helt om jeg tør å poste dem her. Er vel bedre om du poster det du har gjort, og vi prøver å hjelpe, enn om vi setter oss ned og gjør leksene dine? Lurer også på hvilke database som brukes? Lenke til kommentar
espset Skrevet 8. mai 2009 Forfatter Del Skrevet 8. mai 2009 (endret) 1. CREATE PROCEDURE arlig_premie AS v_arlig_premie = INTEGER; BEGIN SELECT KundeNr, Premie, AntTermin FROM KUNDE, LIV v_arlig_premie = premie * AntTermin; END ; . run; PRINT :v_arlig_premie; 2. CREATE TRIGGER kontroll_spareandel BEFORE INSERT OR UPDATE OF SpareAndel ON Liv FOR EACH ROW DECLARE e_feil_spareandel EXCEPTION; BEGIN IF :new.spareandel >=5% AND <=30% THEN RAISE e_feil_spareandel; END IF; EXCEPTION WHEN e_feil_sparenandel THEN RAISE_APPLICATION_ERROR(-20001, 'Spareandelen er ikke innenfor 5% og 30%'); ROLLBACK; END; / 3. CREATE TRIGGER saldo_oppdater AFTER INSERT OF Saldo ON Liv FOR EACH ROW UPDATE :old.saldo = :new.saldo WHERE //////// Dette er alt jeg har, og er overbevist at det er bare tullball :S EDIT: Vi bruker MySQL på skolen. Men får lov til å bruke Oracle syntaks om vi vil det. Endret 8. mai 2009 av espset Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå