-- ---------------------------------------------------------------- create or replace function ei_denik_insert () returns opaque as ' declare zaznam RECORD; begin select into zaznam * from ei_hlkniha where ucet=new.ucet and anal=new.anal; if not found then raise notice ''Dopl�uji do hlavn� knihy ��et %.%'',new.ucet,new.anal; insert into ei_hlkniha (ucet,anal) values (new.ucet, new.anal); end if; if new.mdd=''M'' then update ei_hlkniha set zustatek_md=zustatek_md+new.castka where ucet=new.ucet and anal=new.anal; end if; if new.mdd=''D'' then update ei_hlkniha set zustatek_dal=zustatek_dal+new.castka where ucet=new.ucet and anal=new.anal; end if; return new; end; ' language 'plpgsql'; -- ---------------------------------------------------------------- create trigger ei_denik_insert before insert on ei_denik for each row execute procedure ei_denik_insert(); -- ---------------------------------------------------------------- create or replace function ei_denik_update() returns opaque as ' declare zaznam RECORD; begin select into zaznam * from ei_hlkniha where ucet=new.ucet and anal=new.anal; if not found then raise exception ''V hlavn� knize chyb� ��et %.%'',new.ucet,new.anal; end if; if new.mdd=''M'' then update ei_hlkniha set zustatek_md=zustatek_md+new.castka-old.castka where ucet=new.ucet and anal=new.anal; end if; if new.mdd=''D'' then update ei_hlkniha set zustatek_dal=zustatek_dal+new.castka-old.castka where ucet=new.ucet and anal=new.anal; end if; return new; end; ' language 'plpgsql'; -- ---------------------------------------------------------------- create trigger ei_denik_update before update on ei_denik for each row execute procedure ei_denik_update();