Help with Trigger

From: Clifford Snow <clifford(at)snowandsnow(dot)us>
To: pgsql-general(at)postgresql(dot)org
Subject: Help with Trigger
Date: 2016-12-29 03:06:34
Message-ID: CADAoPLq7BrNmX_HNkJ__4P0dQYHE3sZZAoZr8vKQ-2_SjD8kPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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
osm_seattle.snowandsnow.us
OpenStreetMap: Maps with a human touch

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2016-12-29 04:12:48 Re: Help with Trigger
Previous Message jesusthefrog 2016-12-29 01:27:40 Re: Securing Information