21.11.2014 Views

Baze podataka 2 - FESB

Baze podataka 2 - FESB

Baze podataka 2 - FESB

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

$# " (".%<br />

RUKOVANJE GREŠKAMA<br />

Tijekom izvršavanja niza SQL instrukcija ili SQL procedure<br />

mogue je da u bilo kojoj SQL instrukciji nastupi greška<br />

tijekom njezina izvršavanja.<br />

Za detekciju greške u izvršavanju pojedinog SQL izraza<br />

koristi se sistemska (globalna) varijabla @@ERROR.<br />

Vrijednost ove varijable postavlja sam sustav u zavisnosti<br />

od toga da li SQL instrukcija obavljena ispravno ili ne.<br />

Ako je SQL instrukcija ispravno obavljena, nakon izvršenja<br />

te instrukcije vrijednost @@ERROR je 0.<br />

Ako nastupi pogreška, varijabla @@ERROR sadržava<br />

brojani podatak (integer), koji predstavlja kod pogreške.<br />

Svaki tip pogreške ima svoj jedinstveni kod, temeljem kojeg<br />

je mogue prepoznati o kojoj se vrsti pogreške radi.<br />

<br />

$# " (".%<br />

Pri obradi niza SQL instrukcija ";!*!!*<br />

!".!*"A!<br />

Nakon svake instrukcije u kojoj može nastati greška koja<br />

utjee na rezultate obrade treba obraditi i potencijalnu<br />

grešku.<br />

Ukoliko je vrijednost globalne varijable @@ERROR 0,<br />

potrebno je definirati instrukcije, koje e se izvršiti i sprijeiti<br />

- mogunost pogrešnih akcija u bazi <strong>podataka</strong><br />

- mogunost ‘pucanja’ procedure ili aplikacije koja ju koristi.<br />

Primjeri ispitivanja pogreški dani su u proceduri za unos<br />

novog studenta i u proceduri za unos novog upisnog lista.<br />

Uz sistemsko rukovanje greškama, na formiranje pogreške<br />

može utjecati i sam korisnik.<br />

Pogledajmo ovo na primjeru procedure PROC_STUDENT.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!