[ cesare @ 06.04.2012. 20:07 ] @
Pozdrav svima !!! Nisam puno vičan u korišćenju SQL jezika. Zato sam uz pomoć Googlanja došao do sledeće procedure. Code: BEGIN DECLARE BrojKorisnika INT DEFAULT 0; DECLARE IdPrijavljenogKorisnika CHAR(40) DEFAULT ''; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET IdPrijavljenogKorisnika='SQLEXCEPTION'; DECLARE CONTINUE HANDLER FOR SQLWARNING SET IdPrijavljenogKorisnika='SQLWARNING'; SELECT COUNT(IdBroj) FROM tblkorisnici WHERE BINARY KIme=PKIme AND BINARY KSifra=PKSifra INTO BrojKorisnika; IF BrojKorisnika=1 THEN SET AUTOCOMMIT=0; START TRANSACTION; UPDATE tblkorisnici SET Akcija1='b' WHERE BINARY KIme=PKIme AND BINARY KSifra=PKSifra; IF IdPrijavljenogKorisnika='' THEN COMMIT; SELECT IdBroj FROM tblkorisnici WHERE BINARY KIme=PKIme AND BINARY KSifra=PKSifra INTO IdPrijavljenogKorisnika; ELSE ROLLBACK; END IF; END IF; SELECT IdPrijavljenogKorisnika; END Napravio sam tabelu tblkorisnici koja ima polja IdBroj,KIme,KSifra i Akcija, probe radi. Gornja procedura treba da izmeni polje Akcija ako je zadovoljen uslov i vrati IdBroj izmenjenog korisnika. Ako se desi neka greška (što sam namerno prouzrokovao sa Akcija1 umesto Akcija u UPDATE redu, vraća se vrednost 'SQLEXCEPTION'. To je i moje pitanje. Kako da umesto ovoga procedura u slučaju greške vrati kod i tekst nastale greške ? Unapred hvala ... |