create procedure ueberweisen -- lege Prozedur an
(x int, -- Konto-Nr. zum Belasten
y int, -- Konto-Nr. fuer Gutschrift
betrag int) -- Ueberweisungsbetrag
begin
set @s = (select stand -- lokale Variable mit
from konto where nr = x); -- Kontostand von x initialisieren
if (@s < betrag) then -- falls Konto ueberzogen
insert into abgelehnt -- notiere Fehlschlag in
values (now(), x, y, betrag); -- der Tabelle 'abgelehnt'
else
update konto set stand = stand - betrag -- setze in der Tabelle konto
where nr = x; -- neuen Betrag fuer Kto-Nr. x
update konto set stand = stand + betrag -- setze in der Tabelle konto
where nr = y; -- neuen Betrag fuer Kto-Nr. y
insert into gebucht -- notiere Buchung in
values (now(), x, y, betrag); -- der Tabelle gebucht
end if;
end $$