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 $$