drop table ei_zapis; create table ei_zapis ( datum date default now(), popis varchar(128), ucetm int4, analm int4, dokladm varchar(32), ucetd int4, anald int4, dokladd varchar(32), mnozstvim float8, mnozstvid float8, castka float8 ); create or replace function ei_zapis() returns opaque as ' begin lock ei_poradi; insert into ei_popis (cislo, popis) values ((select cislo from ei_poradi), new.popis); insert into ei_denik (cislo, mdd, ucet, anal, castka) values ((select cislo from ei_poradi), ''M'', new.ucetm, new.analm, new.castka); insert into ei_denik (cislo, mdd, ucet, anal, castka) values ((select cislo from ei_poradi), ''D'', new.ucetd, new.anald, new.castka); update ei_poradi set cislo=cislo+1; return null; end; ' language 'plpgsql'; create trigger ei_zapis before insert on ei_zapis for each row execute procedure ei_zapis();