Did you insert a row into table2?  What happens if there is no row in table 
1 where id = code (of the newly inserted row in table2).  Seems to me you 
many need to consider expanding increment_value() to check table1 to see if 
code exists.  If not insert a new value, else update.

-----Original Message-----
From:   Ramiro Arenas Ramirez [SMTP:[EMAIL PROTECTED]]
Sent:   Thursday, February 01, 2001 2:48 PM
To:     [EMAIL PROTECTED]
Subject:        how to create this trigger?

I need to create a trigger that increment a value in a column
of table1 where a row is inserted in table 2

I have tried whit this but it just does nothing.

CREATE FUNCTION increment_value () RETURNS opaque AS
'DECLARE
   code int4;
   BEGIN
   code := new.code;
   UPDATE table1
   SET value = value + 1
   WHERE id = code;
RETURN NEW;
END;'  LANGUAGE 'plpgsql';

CREATE TRIGGER insert_on_table2 BEFORE INSERT ON table2
        FOR EACH ROW EXECUTE PROCEDURE increment_value();


Can you help me?



Reply via email to