Re: Updating
От | Bob Pawley |
---|---|
Тема | Re: Updating |
Дата | |
Msg-id | 01cb01c88855$8f1a6ad0$6401a8c0@owner обсуждение исходный текст |
Ответ на | Re: Updating ("Daniel Verite" <daniel@manitou-mail.org>) |
Ответы |
Re: Updating
|
Список | pgsql-general |
I am attempting to use the following code but I get - "ERROR: NEW used in query that is not in a rule". This implies that I create a rule for NEW and OLD (which I haven't needed before). Could someone point me to the proper synatx for such a rule? BTW I noticed that Adrian used != . Is this symbol the same as <> ? Bob ----- Original Message ----- From: "Adrian Klaver" <aklaver@comcast.net> To: <pgsql-general@postgresql.org> Cc: "Daniel Verite" <daniel@manitou-mail.org>; "Bob Pawley" <rjpawley@shaw.ca> Sent: Monday, March 17, 2008 7:16 AM Subject: Re: [GENERAL] Updating > On Monday 17 March 2008 4:54 am, Daniel Verite wrote: >> Adrian Klaver wrote: >> > CREATE FUNCTION foo() RETURNS trigger AS >> > $Body$ >> > BEGIN >> > IF NEW.colname != OLD.colname THEN >> > ..."Do something"..; >> > RETURN whatever; >> > ELSE >> > RETURN NEW: >> > END IF; >> > END; >> > $Body$ LANGUAGE plpgsql; >> >> Beware that the "Do something" code path will not be taken when the >> column goes from NULL to non-NULL or non-NULL to NULL. >> >> In the general case where the column is nullable, better use "IS >> DISTINCT FROM" instead of inequality: >> IF NEW.colname IS DISTINCT FROM OLD.colname >> >> Best regards, >> -- >> Daniel >> PostgreSQL-powered mail user agent and storage: >> http://www.manitou-mail.org > > Thanks for the heads up. This is a case I usually only remember when I > start > testing the function. > -- > Adrian Klaver > aklaver@comcast.net > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general
В списке pgsql-general по дате отправления: