From: | Kiran <bangalore(dot)kiran(at)gmail(dot)com> |
---|---|
To: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
Cc: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Rows are repeating by the trigger function |
Date: | 2016-10-31 09:06:50 |
Message-ID: | CAJfd1U5yp2=V7JZfaeL0oTeJfLhNW0GjyHswdEwJvWfV0t+Rig@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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.
I know 94 = 1 + (3 * 31).
I am just having a normal insert statement into cf_question table.
regards
Kiran
On Sun, Oct 30, 2016 at 3:01 PM, Adrian Klaver <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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Farber | 2016-10-31 12:53:48 | How to optimize SELECT query with multiple CASE statements? |
Previous Message | Melvin Davidson | 2016-10-31 04:10:30 | Re: initdb createuser commands |