Re: Rows are repeating by the trigger function

Поиск
Список
Период
Сортировка
От Kiran
Тема Re: Rows are repeating by the trigger function
Дата
Msg-id CAJfd1U5yp2=V7JZfaeL0oTeJfLhNW0GjyHswdEwJvWfV0t+Rig@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Rows are repeating by the trigger function  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: Rows are repeating by the trigger function  (Adrian Klaver <adrian.klaver@aklaver.com>)
Список 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.klaver@aklaver.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.klaver@aklaver.com

В списке pgsql-general по дате отправления:

Предыдущее
От: Melvin Davidson
Дата:
Сообщение: Re: initdb createuser commands
Следующее
От: Alexander Farber
Дата:
Сообщение: How to optimize SELECT query with multiple CASE statements?