Re: Rows are repeating by the trigger function - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Rows are repeating by the trigger function
Date
Msg-id fa4e2250-f4eb-cb75-5525-22a0cfc06979@aklaver.com
Whole thread Raw
In response to Rows are repeating by the trigger function  (Kiran <bangalore.kiran@gmail.com>)
Responses Re: Rows are repeating by the trigger function  (Kiran <bangalore.kiran@gmail.com>)
List pgsql-general
On 10/30/2016 02:31 AM, Kiran wrote:
> Dear Folks,
>
> I have a  table *cf_question *with 31 rows.
> I want to insert/update another table *cf_user_question_link*  when
> cf_question table is inserted/updated with row(s).
> I have written trigger function for this as follows.
>
>
> CREATE FUNCTION user_question_link() RETURNS trigger AS
> $user_question_link$
> begin
> SET search_path TO monolith;
> INSERT INTO
> cf_user_question_link(cf_user_id,cf_question_id)
> VALUES(NEW.user_id,NEW.cf_question_id);
> RETURN NEW;
> end;
> $user_question_link$
> LANGUAGE plpgsql
> COST 100;
>
>
> /* Call the trigger function */
>
> CREATE TRIGGER insert_user_question_link AFTER INSERT OR UPDATE
> ON monolith.cf_question
> FOR EACH ROW EXECUTE PROCEDURE user_question_link();

In addition to what Alban said:

What do you want the trigger function to do ?

In other words what are the condition(s) that are supposed to create a
new row in cf_user_question_link?

>
>
> Problem: The *cf_user_question_link* gets inserted with 94 rows instead
> of 31 rows. The 31 rows are repeated 3 times

Well actually 1 row + (3 * 31 rows).

So what is the query you are sending to cf_question?

>                  I tried dropping the trigger function and recreating it
> but with the same 94 rows in the table.
>
> It would be great if any from the forum point to me where I am doing wrong.
>
> regards
> Kiran


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Kiran
Date:
Subject: Re: Rows are repeating by the trigger function
Next
From: Melvin Davidson
Date:
Subject: Re: Way to quickly detect if database tables/columns/etc. were modified?