Procedure SQL Server Express

download Procedure SQL Server Express

of 3

Transcript of Procedure SQL Server Express

  • 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;