Re: in Pl/PgSQL, do commit every 5000 records

Поиск
Список
Период
Сортировка
От Florian G. Pflug
Тема Re: in Pl/PgSQL, do commit every 5000 records
Дата
Msg-id 4411B4E4.902@phlo.org
обсуждение исходный текст
Ответ на Re: in Pl/PgSQL, do commit every 5000 records  (Emi Lu <emilu@encs.concordia.ca>)
Ответы Re: in Pl/PgSQL, do commit every 5000 records  (Emi Lu <emilu@encs.concordia.ca>)
Список pgsql-general
Emi Lu wrote:
> The example I have is:
>
> CREATE OR REPLACE function test() returns boolean AS $$
> DECLARE
> ... ...
>   counter                INTEGER := 0;
> BEGIN
> ... ...
>   query_value := ' .....' ;
>   OPEN curs1 FOR EXECUTE query_value;
>   LOOP
>      FETCH curs1 INTO studid;
>      EXIT WHEN NOT FOUND;
>
>      query_value := ' INSERT INTO ... ...';
>          EXECUTE query_value  ;
>
>      counter := counter + 1 ;
>      IF counter%5000 = 0 THEN
>         counter := 0;
>         COMMIT;
>      END IF;
>
>   END LOOP;
>
>
>   CLOSE curs1;  ...
> END;
Are you aware of the "insert into <table> (<field1>, ..., <fieldn>) select <val1>, .., <valn> from ...."
command? It'd be much faster to use that it it's possible...

greetings, Florian Pflug


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

Предыдущее
От: Emi Lu
Дата:
Сообщение: Re: in Pl/PgSQL, do commit every 5000 records
Следующее
От: Emi Lu
Дата:
Сообщение: Re: in Pl/PgSQL, do commit every 5000 records