Dawid Kuroczko wrote:
On 5/24/05, Sebastian Böck <[EMAIL PROTECTED]> wrote:

/* 3rd way of separating updates
  con: unnecessary updates on tables
  pro: view gets evaluated only 1 time

  Not adressing the problem of unnecessary updates, but the view
  gets only evaluated one time.

*/

CREATE OR REPLACE FUNCTION upd (view_test) RETURNS VOID AS $$
       DECLARE
               NEW ALIAS FOR $1;
       BEGIN
               RAISE NOTICE 'UPDATE';
               UPDATE test SET test = NEW.test WHERE id = OLD.id;
               UPDATE join1 SET text1 = NEW.text1 WHERE id = OLD.id;
               UPDATE join2 SET text2 = NEW.text2 WHERE id = OLD.id;
               UPDATE join3 SET text3 = NEW.text3 WHERE id = OLD.id;
               RETURN;
       END;
$$ LANGUAGE plpgsql;


Control question, I didn't check it, but would it be enough to change from:
   UPDATE join1 SET text1 = NEW.text1 WHERE id = OLD.id;
to:
   UPDATE join1 SET text1 = NEW.text1 WHERE id = OLD.id AND text1 <> NEW.text1?

...  I may be wrong. :)

Yes, thats more elegant then my other (4th) solution.
Was late yesterday evening ;)

Thanks

Sebastian

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to