On 21 September 2010 18:39, Alban Hertroys <dalroi@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > On 21 Sep 2010, at 16:13, William Temperley wrote: > >> Dear all, >> >> I have a single "source" table that is referenced by six >> specialization tables, which include: >> "journal_article" >> "report" >> 4 more.... >> >> e.g.: >> """ >> update source set citation = get_report_citation( >> (select source from source where id = NEW.source_ptr_id), >> NEW >> ); >> """ > > Well, depending on how many rows are in source, updating them all can take a while. > Eventually those changes will have to go to disk, so it's probably pretty much I/O-bound. > > I get the impression you're missing a WHERE clause on that UPDATE statement though, or otherwise I can't understand why you'd want to update all citations every time one source record changes. > > > Alban Hertroys > Indeed you're right, I was just missing a WHERE clause. Failed at the last hurdle there. All works as intended now, thankyou. Will Temperley -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general