Upload
anna7
View
222
Download
0
Embed Size (px)
Citation preview
7/28/2019 Procedure SQL Server Express
1/3
////// PRVA PROCEDURAcreate or replace procedure povecaj( tablica in VARCHAR2, id in NUMBER, iznos inNUMBER) asbegincase tablicawhen 'internet' then update k_internet set cijena=cijena+iznos where id_int=id;when 'telefon' then update k_telefon set cijena=cijena+iznos where id_tel=id;when 'tv' then update k_televizija set cijena=cijena+iznos where id_tel=id;else RAISE_APPLICATION_ERROR (-20999, 'pogresan unos');end case;end;
beginpovecaj('tv',2, 2);end;
////// DRUGA PROCEDURAcreate or replace procedure umanji( tablica in VARCHAR2, id in NUMBER, iznos inNUMBER ) isv_cijena numeric(5,0);beginif tablica ='internet' thenbegin select cijena into v_cijena from k_internet where id_int=id;if v_cijena-iznos < 10
thenraise_application_error(-20999,'Potrebno provjeriti iznos cijene!');else update k_internet set cijena=cijena-iznos where id_int=id;end if;end;elsif tablica ='telefon' thenbegin select cijena into v_cijena from k_telefon where id_tel=id;if v_cijena-iznos < 10thenraise_application_error(-20999,'Potrebno provjeriti iznos cijene!');else update k_telefon set cijena=cijena-iznos where id_tel=id;end if;end;
elsif tablica ='tv' thenbegin select cijena into v_cijena from k_televizija where id_tel=id;if v_cijena-iznos < 10thenraise_application_error(-20999,'Potrebno provjeriti iznos cijene!');else update k_televizija set cijena=cijena-iznos where id_tel=id;end if;end;else raise_application_error(-20999,'Pogrean unos!');end if;end;
begin
umanji('tv',2, 10);end;
//////// TREA PROCEDURAcreate or replace procedure novi_korisnik(id number, ime varchar2, prezime varchar2, n_jmbg number, telefon number, mobitel number, mjesto varchar2, adresa varchar2 ) isi integer;j integer;
7/28/2019 Procedure SQL Server Express
2/3
beginselect count(*)into i from mjesto where naziv=mjesto;if i > 0 then
beginselect count(*)into j from korisnik where jmbg=n_jmbg;if j > 0 then DBMS_OUTPUT.PUT_LINE('Korisnik ve postoji');else
INSERT INTO korisnik (id_korisnik, ime, prezime,jmbg, telefon, mobitel, mjesto, adresa)
VALUES (id, ime, prezime, n_jmbg, telefon, mobitel, (select id_mjestofrom mjesto where naziv=mjesto), adresa);
DBMS_OUTPUT.PUT_LINE('Novi korisnik je dodan');end if;
end;elseDBMS_OUTPUT.PUT_LINE('ao nam je, ali trenutno nismo u mogunosti pruiti Vam u
slugu na toj lokaciji!');end if;end;
beginnovi_korisnik(8, 'Ivo', 'Ivic', 1234567899874, 123456789, 123456789, 'Humac', 'humac2');
end;
////// ETVRTA PROCEDURAcreate or replace procedure promijeni_cijenu( tablica in VARCHAR2, id in NUMBER,iznos in NUMBER ) isv_cijena numeric(5,0);beginif tablica ='internet' thenbegin select cijena into v_cijena from k_internet where id_int=id;if v_cijena-iznos < 10 then
raise_application_error(-20999,'Potrebno provjeriti iznos cijene!');
else beginupdate k_internet set cijena=cijena-iznos where id_int=id;if iznos < 0 then DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. internet pake
ta je umanjena za '||iznos||' KM ');else DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. internet paketa je uveana z
a '||iznos||' KM');end if;end;
end if;end;
elsif tablica ='telefon' thenbegin select cijena into v_cijena from k_telefon where id_tel=id;
if v_cijena-iznos < 10 thenraise_application_error(-20999,'Potrebno provjeriti iznos cijene!');else begin
update k_telefon set cijena=cijena-iznos where id_tel=id;if iznos < 0 then DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. telefon paket
a je umanjena za '||iznos||' KM ');else DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. telefon paketa je uveana za
'||iznos||' KM ');end if;end;
7/28/2019 Procedure SQL Server Express
3/3
end if;end;
elsif tablica ='tv' thenbegin select cijena into v_cijena from k_televizija where id_tel=id;
if v_cijena-iznos < 10 thenraise_application_error(-20999,'Potrebno provjeriti iznos cijene!');
else beginupdate k_televizija set cijena=cijena-iznos where id_tel=id;if iznos < 0 then DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. tv paketa je
umanjena za '||iznos||' KM ');else DBMS_OUTPUT.PUT_LINE('Cijena '||id||'. tv paketa je uveana za '||i
znos||' KM ');end if;end;
end if;end;
else raise_application_error(-20999,'Pogrean unos!');end if;end;