How to avoid (stop) a endless loop in a trigger

Поиск
Список
Период
Сортировка
От Rodrigo Sakai
Тема How to avoid (stop) a endless loop in a trigger
Дата
Msg-id 20040304145407.32236.qmail@hm10.locaweb.com.br
обсуждение исходный текст
Ответы Re: How to avoid (stop) a endless loop in a trigger  (Oliver Elphick <olly@lfix.co.uk>)
Список pgsql-sql
Hi people, i have a problem here. I'm doing a trigger that when a update occurs i need to do an update on the same
table(target table), but as known, it causes a endless loop whithin infinit updates.   So I need to stop the trigger
afterit does the first update, is there any way????? I tried to do a return null, but that was a very bad idea because
itstops completly the function fired by a trigger and all its computation is in vain...
 
 The test trigger that i did is like :

CREATE OR REPLACE FUNCTION public.sp_teste_loop()  RETURNS trigger AS ' begin   raise notice \'Trigger Fired\';   if
(TG_OP= \'INSERT\') then     update teste_trigger       set flg_bool = \'S\'       where codigo=NEW.codigo;
 
     RETURN NEW;        elsif (TG_OP = \'UPDATE\') then     update teste_trigger       set flg_bool = \'N\'     where
codigo=NEW.codigo;
     RETURN NULL;   end if; end;
'  LANGUAGE 'plpgsql' VOLATILE;

CREATE TRIGGER tr_sp_teste_trigger BEFORE INSERT OR UPDATE ON public.teste_trigger FOR EACH ROW EXECUTE PROCEDURE
public.sp_teste_loop();
 Thank for any help and regards!!!!


=====================
Rodrigo Sakai
Database Programmer
rodrigo@2bfree.com.br
http://www.2bfree.com.br
Tel:  (55) (11) 5083-5577
Fax: (55) (11) 5549-3598
=====================



В списке pgsql-sql по дате отправления:

Предыдущее
От: Christoph Haller
Дата:
Сообщение: Re: sub-select parameter problem
Следующее
От: Oliver Elphick
Дата:
Сообщение: Re: How to avoid (stop) a endless loop in a trigger