update by one transaction

Поиск
Список
Период
Сортировка
От Lendvary Gyorgy
Тема update by one transaction
Дата
Msg-id 357F925F.6299EB1C@prolan.hu
обсуждение исходный текст
Ответы Re: [SQL] update by one transaction
Список pgsql-sql
Hello,

I have tried to write my problem, but I think nobody couldn,t understand
it (because of my bad English, I think).

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:

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, "COMMIT");

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!

В списке pgsql-sql по дате отправления:

Предыдущее
От: "Jose' Soares Da Silva"
Дата:
Сообщение: Re: [SQL] Re: [INTERFACES] Re: M$-Access'97 and TIMESTAMPs
Следующее
От: Aleksey Dashevsky
Дата:
Сообщение: Re: [SQL] update by one transaction