Lock inside trigger
От | Josué Maldonado |
---|---|
Тема | Lock inside trigger |
Дата | |
Msg-id | 40576D9F.5040506@lamundial.hn обсуждение исходный текст |
Ответы |
Re: Lock inside trigger
|
Список | pgsql-general |
Hello list, I have pl/pgsql trigger that before insert a details table it must update a column in other table, the trigger have this code: CREATE OR REPLACE FUNCTION public.tg_ecproc_insert() RETURNS trigger AS ' DECLARE salproc numeric(12,2); BEGIN select coalesce(prvsalproc,0) into salproc from prvdor where prvcode=new.ecp_provcode; -- How do I prevent someone else to change -- prvdor.prvsalproc during this transaction if new.ecp_dc=''C'' then new.ecp_saldo = salproc - new.ecp_valor; else new.ecp_saldo = salproc + new.ecp_valor; end if; update prvdor set prvsalproc = new.ecp_saldo where prvcode=new.ecp_provcode ; -- Here I should be able to unlock the row on -- prvdor table return new; END; ' LANGUAGE 'plpgsql' VOLATILE; Does postgresql automatically handle the lock on tables updated from within a trigger? or what's the must appropiate way to get this done? Thanks in advance, -- Josué Maldonado
В списке pgsql-general по дате отправления: