--oppgave 1: SET SERVEROUTPUT ON BEGIN DBMS_OUTPUT.PUT_LINE('We will not use Hellow World'); END; / --oppgave 2a: CREATE OR REPLACE FUNCTION f_snittkarakter RETURN NUMBER IS v_fnavn VARCHAR2(30) := 'PROG'; i_snitt INTEGER(5,2) := 0; BEGIN SELECT AVG(e.karakter) INTO i_snitt FROM eksamen e, fag f WHERE e.fnr = f.fnr AND f.fnavn = v_fnavn; RETURN i_snitt; END; / SELECT f_snittkarakter FROM dual; --oppgave 2b: DECLARE v_fnavn VARCHAR2(30); i_snitt INTEGER(5,2); BEGIN v_fnavn := 'PROG'; i_snitt := f_snittkarakter(); DBMS_OUTPUT.PUT_LINE('Snittkarakteren i faget ' || v_fnavn || ' er: '); DBMS_OUTPUT.PUT_LINE( i_snitt ); DBMS_OUTPUT.PUT_LINE( 'Dagens dato er: ' || SYSDATE() ); END; --oppgave 2c: VARIABLE v_fnavn VARCHAR2(30) BEGIN :v_fnavn := 'DB'; END; / DECLARE i_snitt INTEGER(5,2); BEGIN SELECT AVG(karakter) INTO i_snitt FROM eksamen WHERE fnr = ( SELECT fnr FROM fag WHERE fnavn = :v_fnavn ); DBMS_OUTPUT.PUT_LINE( i_snitt ); END; / --oppgave 2d: CREATE OR REPLACE FUNCTION f_snittkarakter2( v_fnavn VARCHAR ) RETURN NUMBER IS i_snitt INTEGER(5,2); BEGIN SELECT AVG( karakter ) INTO i_snitt FROM eksamen WHERE fnr = ( SELECT fnr FROM fag WHERE fnavn = v_fnavn ); RETURN i_snitt; END; / SELECT f_snittkarakter2( 'PROG' ) FROM dual; --oppgave 3 CREATE OR REPLACE FUNCTION dato( p_dager NUMBER ) RETURN DATE IS d_dagensdato DATE := SYSDATE; d_nydato DATE; BEGIN d_nydato := d_dagensdato + p_dager; RETURN d_nydato; END; / SELECT dato( 31 ) FROM dual;