Re: Rows are repeating by the trigger function
От | Adrian Klaver |
---|---|
Тема | Re: Rows are repeating by the trigger function |
Дата | |
Msg-id | 2c191da3-7f19-3098-5516-dfb3b43da2b4@aklaver.com обсуждение исходный текст |
Ответ на | Re: Rows are repeating by the trigger function (Kiran <bangalore.kiran@gmail.com>) |
Ответы |
Re: Rows are repeating by the trigger function
|
Список | 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.klaver@aklaver.com <mailto: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 <mailto:adrian.klaver@aklaver.com> > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: