[GENERAL] Help with Trigger - Mailing list pgsql-general

From Clifford Snow
Subject [GENERAL] Help with Trigger
Date
Msg-id CADAoPLq7BrNmX_HNkJ__4P0dQYHE3sZZAoZr8vKQ-2_SjD8kPg@mail.gmail.com
Whole thread Raw
Responses Re: [GENERAL] Help with Trigger
List pgsql-general
I'm trying to write a trigger (my first) to update another table if the user_id is new. But I'm getting a index exception that the user_id already exists. I'm picking up data from another feed which gives provides me with changes to the main database.

what I have is 

CREATE OR REPLACE FUNCTION add_new_user()
        RETURNS TRIGGER AS
$BODY$
DECLARE
        commits RECORD;
BEGIN
        SELECT INTO commits * FROM changes WHERE user_id = NEW.user_id;
        IF NOT FOUND
        THEN
                INSERT INTO user (user_name, user_id, change_id, created_date)
                        VALUES(NEW.user_name, NEW.user_id, NEW.change_id, NEW.created_date);
        END IF;
        RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;

CREATE TRIGGER add_new_user_trigger
BEFORE INSERT ON changes
FOR EACH ROW
EXECUTE PROCEDURE add_new_user();

I hoping for some recommendations on how to fix or at where I'm going wrong.

Thanks,
Clifford


--
@osm_seattle
OpenStreetMap: Maps with a human touch

pgsql-general by date:

Previous
From: jesusthefrog
Date:
Subject: Re: [GENERAL] Securing Information
Next
From: Adrian Klaver
Date:
Subject: Re: [GENERAL] Help with Trigger