Nimetu
kaduma.
if (select saldo from kontod where id=@kust)>=@summa begin
update kontod set saldo=saldo-@summa where id=@kust
end else begin
set @korras=0
raiserror('raha otsas', 1, 1)
end
Järgmise sammuga kontrollitakse, et ka see konto ikka olemas on, kuhu raha kanda soovitakse.
Hariliku UPDATE-lause puhul ei antaks isegi veateadet juhul, kui saajakontot olemas poleks. Siinse
kontrolliga aga tehakse olemasolu kindlaks ja vaid sel juhul suurendatakse sealset summat. Muul
juhul jäetakse jälle meelde, et asjad pole korras.
if exists(select saldo from kontod where id=@kuhu) begin
update kontod set saldo=saldo+@summa where id=@kuhu
end else begin
set @korras=0
end
Edasi jääb üle vaid muutuja järgi otsustada, kas toiming kinnitada või tagasi lükata.
if @korras=1
commit transaction