U proceduri mp_valuta_exists je bio ovaj dio koda:
SELECT @out_ima = COUNT(VALUTA) FROM MP_VALUTA WHERE VALUTA = @valuta SET @err = @err + @@ERROR
Dva načina za koji kažu da su bolji od ovo gore navedenog su:
1. Koristi se EXISTS za provjeru
IF EXISTS (SELECT VALUTA FROM MP_VALUTA WHERE VALUTA = @valuta) BEGIN SET @err = @err + @@ERROR SET @out_ima = 1 END
2. Koristi se varijabla koja vraća broj zahvaćenih slogova, @@ROWCOUNT. Pomoćna varijabla @pom se koristi za prihvat podatka šifre varijable.
SELECT @pom = VALUTA FROM MP_VALUTA WHERE VALUTA = @valuta SET @err = @err + @@ERROR SET @out_ima = @@ROWCOUNT
Kako se radi o provjeri primarnog ključa, uvijek će broj vraćenih slogova biti 0 ili 1.
novi komentari