create or replace procedure opiskelija_upd (otunnus in number, onimi in varchar2, opaa in varchar2, okaupunki in varchar2, oaloitus in number, optype in varchar2) is -- päivitetään opiskelija o opiskelija%rowtype; jatkuu boolean; begin if optype='Päivitä' then update info1.opiskelija set onumero=otunnus, nimi=onimi, paa_aine=opaa, kaupunki=okaupunki, aloitusvuosi=oaloitus where onumero=otunnus; commit; opiskelija_nayta(otunnus,onimi,opaa,okaupunki,oaloitus); htp.para; htp.bold('Päivitys kirjattu'); elsif optype='Uusi tietue' then info1.opiskelija_uusi; elsif optype='Poista' then opiskelija_nayta(otunnus,onimi,opaa,okaupunki,oaloitus); -- delete from info1.opiskelija where onumero=otunnus; -- if sqlcode=0 then htp.bold('Tietueen pitäisi olla nyt poistettu - ei kuitenkaan ole'); -- else -- htp.bold('Poisto ei onnistunut'); -- end if; end if; exception when others then if optype='Päivitä' then htp.bold('Päivitys ei onnistunut'); elsif optype='Poista' then htp.bold('Poisto ei onnistunut'); elsif optype='Uusi' then htp.bold('Lisäys ei onnistunut'); else htp.bold(optype||' operaatiota ei ole olemassakaan'); end if; end; / grant execute on opiskelija_upd to www_user; show errors; exit;