Re: Rows are repeating by the trigger function

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Kiran <bangalore(dot)kiran(at)gmail(dot)com>
Cc: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Rows are repeating by the trigger function
Date: 2016-10-31 13:41:09
Message-ID: 2c191da3-7f19-3098-5516-dfb3b43da2b4@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/31/2016 02:06 AM, Kiran wrote:
> Hi Adrian,
>
> I want the trigger function to insert a row in cf_user_question_link
> table with fields as show in the function once the there is a insert
> from in the cf_question table.

If so and I think this was mentioned before, why the UPDATE in the
trigger statement?

>
>
> I know 94 = 1 + (3 * 31).
> I am just having a normal insert statement into cf_question table.

Are there any other triggers on the tables?

>
> regards
> Kiran
>
> On Sun, Oct 30, 2016 at 3:01 PM, Adrian Klaver
> <adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>> wrote:
>
> 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(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karsten Hilbert 2016-10-31 13:48:49 Re: Way to quickly detect if database tables/columns/etc. were modified?
Previous Message Daevor The Devoted 2016-10-31 13:24:15 If pg_ctl dies, can we attach a new pg_ctl process to postgres?