Hi!
I have problems with triggers on delete and i get some kind of
loop. Here is my function.
CREATE FUNCTION nset_delete() RETURNS opaque AS \'
DECLARE
visits int4;
BEGIN
visits := OLD.r - OLD.l + 1;
EXECUTE \'\'DELETE FROM \'\' || TG_RELNAME || \'\' WHERE
l BETWEEN \'\' || OLD.l || \'\' AND \'\' || OLD.r || \'\';\'\';
EXECUTE \'\'UPDATE \'\' || TG_RELNAME || \'\' SET
l=l-\'\' || visits || \'\' WHERE l>\'\' || OLD.l || \'\';\'\';
EXECUTE \'\'UPDATE \'\' || TG_RELNAME || \'\' SET
r=r-\'\' || visits || \'\' WHERE r>\'\' || OLD.r || \'\';\'\';
RETURN NULL;
END;
\' LANGUAGE \'plpgsql\';
CREATE TRIGGER nset_delete BEFORE DELETE ON nset FOR EACH ROW
EXECUTE PROCEDURE nset_delete();
When i delete some data from table nset and when it gets to
first EXECUTE (wich is DELETE) it fires trigger again and
again.
How can i solve this. Is this a bug?
--
\"Don\'t worry about people stealing your ideas. If your ideas
are any
good, you\'ll have to ram them down people\'s throats.\"
-- Howard Aiken