Nimetu
sees osa raha ära kaob või juurde tekib. Et kontodega toimetada, sai loodud võimalikult lihtne tabel
vaid konto number ning seal olev saldo.
create table kontod(
id int identity not null primary key,
saldo money
)
Edasi luuakse salvestatud protseduur raha ülekandeks. Kust kontolt võtta, kuhu panna ning kui suur
on summa. Esimesed kaks arvu tähendavad siis vastavate kontode numbreid.
create procedure ylekanne
(@kust int, @kuhu int, @summa money)
as
Abimuutujas hoitakse meeles, kas kõik õnnestus hästi.
declare @korras as int
Esialgu probleeme pole, nii et @korras saab väärtuseks 1.
set @korras=1
Kogu järgnev toiming pannakse transaktsiooni sisse. See tähendab, et sealsed muutused kas
toimivad tervikuna või jäävad sootuks ära.
begin transaction
Kõigepealt kontrollitakse, kas esimeselt kontolt on võimalik vastav summa maha võtta. Kui saab,