If you rewrite your function in plperlu , you can store data in shared memory. 2011/6/9, Clemens Schwaighofer <clemens.schwaighofer@xxxxxxxxxxxxxx>: > Hi, > > I have a plpgsql function where I read data from a table in a loop and > update data in a different table. > > Is it possible to see the updated data from a different access during > the run of this function? Or is this impossible because the function > is a "transaction" and no data change is visible outside until the > function is finished? I can see the changed data inside the function. > > the function looks something like this > > create or replace function insert_log(i_log_id INT, i_queue_id INT) > returns "varchar" > as $$ > declare > [... here are record, etc declarations] > begin > for myrec in select * from queue where queue_id = i_queue_id; > loop > insert into log_sub () values (); > update log set rows = [internal row count] where log_id = i_log_id; > end loop > end; $$ language plpgsql; > -- > â Clemens å Schwaighofer > â IT Engineer/Web Producer/Planning > â E-Graphics Communications SP Digital > â 6-17-2 Ginza Chuo-ku, Tokyo 104-8167, JAPAN > â Tel: +81-(0)3-3545-7706 > â Fax: +81-(0)3-3545-7343 > â http://www.e-gra.co.jp > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- ------------ pasman -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general