From: | Lendvary Gyorgy <gyurika(at)prolan(dot)hu> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | update by one transaction |
Date: | 1998-06-11 13:26:57 |
Message-ID: | 357FDB21.43776016@prolan.hu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
BEGIN isn't the solution, just I forgot to write it. So I repeat my
problem again:
I have a table for instance boci (row_number int, col2 float, col3
float). The boci table has about 10000 rows.
I want to update col3 column of the table in every row with different
values. Desired values are in an array has 10000 elements. I want to be
the value of the col3 column in the first row equal to the first element
of the array and so on.
I've done it with a 'for' cycle, but it is very slow. I want to do
theese updates with one transaction.
Here is a little piece of my program:
PQexec(conn, "BEGIN");
for (i=0; i<10000; i++)
{
sprintf(buff, "UPDATE boci SET col3 = %f WHERE row_number=%d",
array[i], i);
PQexec(conn, buff);
}
PQexec(conn, "END");
This program is very, very slow. Is there any way making this program
much faster (for instance with CURSOR or 'block write' or something
else)? Please write me a little program that describes your ideas!
Thanks for your help in advance!
Please help me!!!
From | Date | Subject | |
---|---|---|---|
Next Message | Byron Nikolaidis | 1998-06-11 15:53:07 | Re: [INTERFACES] Re: M$-Access'97 and TIMESTAMPs |
Previous Message | Jose' Soares Da Silva | 1998-06-11 11:41:24 | Re: [INTERFACES] Re: M$-Access'97 and TIMESTAMPs |