Re: stack depth limit exceeded
| От | Frank L. Parks |
|---|---|
| Тема | Re: stack depth limit exceeded |
| Дата | |
| Msg-id | 431319E3.6060004@ezbizpartner.com обсуждение исходный текст |
| Ответ на | Re: stack depth limit exceeded (Jamie Deppeler <jamie@doitonce.net.au>) |
| Список | pgsql-general |
I think that you forgot the table name. CREATE TRIGGER "updateContact" AFTER INSERT OR UPDATE ON contacts FOR EACH ROW EXECUTE PROCEDURE "contacts"."addContactField"(); Frank Jamie Deppeler wrote: > What i am trying to do is update the field contact with field values > in firstname and lastname > > Trigger > > CREATE TRIGGER "updateContact" AFTER INSERT OR UPDATE > ON FOR EACH ROW > EXECUTE PROCEDURE "contacts"."addContactField"(); > > Procedure > > CREATE OR REPLACE FUNCTION "contacts"."addContactField" () RETURNS > trigger AS > $body$ > begin > update contacts.person > set "contact" = new.firstname > where person."primary" = new."primary"; > return null; > end; > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > > Tom Lane wrote: > >> Jamie Deppeler <jamie@doitonce.net.au> writes: >> >> >>> At the moment i am trying to execute a very simple function but i am >>> getting the following error stack depth limit exceeded >>> >> >> >> You didn't really show the complete context, but seeing that this is a >> trigger and it's trying to do an "UPDATE person" internally, I'll bet >> a nickel that the trigger itself is on update events on person, and >> therefore that you've written an infinite recursion. >> >> Had you shown more context, I could have given some advice on a better >> way to do it. If you're trying to alter the row that's about to be >> stored, you just have to assign to field(s) of the NEW row within the >> trigger. If you want to do something else, you need to explain what. >> >> regards, tom lane >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 4: Have you searched our list archives? >> >> http://archives.postgresql.org >> >> >> >> >> > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings > > >
В списке pgsql-general по дате отправления: