CREATE TRIGGER doc_insert
BEFORE INSERT ON doc
FOR EACH ROW EXECUTE PROCEDURE doc_insert_proc();
CREATE OR REPLACE FUNCTION doc_insert_proc()
RETURNS trigger AS
$BODY$
BEGIN
IF
new.id IN (SELECT id FROM doc WHERE
new.id = id) AND
new.value NOT IN (SELECT value FROM doc WHERE
new.id = id)
THEN
UPDATE doc SET value = NEW.value WHERE id =
new.id;
RETURN NULL;
ELSE
RETURN NEW;
END IF;
END;
$BODY$ LANGUAGE plpgsql;