Re: loop on trigger
От | will trillich |
---|---|
Тема | Re: loop on trigger |
Дата | |
Msg-id | 20010424145018.E30699@serensoft.com обсуждение исходный текст |
Ответ на | loop on trigger (mgermoni@uniautomation.it) |
Список | pgsql-general |
On Wed, Apr 18, 2001 at 10:06:01PM +0200, mgermoni@uniautomation.it wrote: > following your indication I found what I was looking for...Thank you. > > I made a simple trigger/function that: > on insert check if a particular field is already on one table if not it > will procede to make the insert otherwise not. > But it goes on loop. Now just because I do not have experience, I'm > wondering if it possible to do it without going in loop, because if the > trigger is build up to get fired before the action and inside itself, > actualy, there is again the continuos of the action it is called again > and so on. There is a method to do without using the same table to > do the control and then the action? In other words interception an > insert to a specific table if the control is true to procede with the > action itself without hitting any loop? imo a better approach would be to create a view, and define an insert rule that intercepts attempts to insert to that, re-routing the data to the real table instead: create table _real_stuff ( ... ); create view read_only as select * from _real_stuff; create rule myInsert as on insert to read_only do instead insert into _real_stuff (fieldlist) values (NEW.this,NEW.that,NEW.one+NEW.two-NEW.three); create rule myUpdate as on update to read_only do instead update _real_stuff set field1 = NEW.field1, field2 = OLD.field3 - NEW.field72 where primarykeyfield = NEW.primarykeyfield; that way you won't trigger your own rule within your own rule within your own rule within your own rule... -- don't visit this page. it's bad for you. take my expert word for it. http://www.salon.com/people/col/pagl/2001/03/21/spring/index1.html will@serensoft.com http://sourceforge.net/projects/newbiedoc -- we need your brain! http://www.dontUthink.com/ -- your brain needs us!
В списке pgsql-general по дате отправления: