powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Commit внутри цикла
5 сообщений из 5, страница 1 из 1
Commit внутри цикла
    #35885474
шубин_ду
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно переписать данные из одной таблицы в другую с небольшими преобразованиями данных. При этом коммит требуется делать после каждой вставки.

Вот такой вариант не работает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
begin atomic
   for row as
      select * from table1
   do
      insert into table2
      (
         field1
      )
      values(
         row.field2
      );
      commit;
   end for;
end@

выдает ошибку синтаксиса SQL0104N на commit
...
Рейтинг: 0 / 0
Commit внутри цикла
    #35885522
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
commit нельзя внутри atomic блока.
пишите sql not atomic процедуру.
...
Рейтинг: 0 / 0
Commit внутри цикла
    #35885543
шубин_ду
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Mark,

правильно ли я понимаю, что это можно сделать только так:

1. Создать процедуру
2. Выполнить процедуру
3. Удалить процедуру

Это задача одноразовая. Миграционный скрипт. Процедура потом будет не нужна. Поэтому я хотел сделать это в виде блока. Но раз нельзя иначе сделаю процедуру.
...
Рейтинг: 0 / 0
Commit внутри цикла
    #35885584
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шубин_дуправильно ли я понимаю, что это можно сделать только так:

1. Создать процедуру
2. Выполнить процедуру
3. Удалить процедуру

Это задача одноразовая. Миграционный скрипт. Процедура потом будет не нужна.Можно либо так, либо написать приложение на чём умеете, и что может к db2 коннектиться.
...
Рейтинг: 0 / 0
Commit внутри цикла
    #35885784
шубин_ду
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinшубин_дуправильно ли я понимаю, что это можно сделать только так:

1. Создать процедуру
2. Выполнить процедуру
3. Удалить процедуру

Это задача одноразовая. Миграционный скрипт. Процедура потом будет не нужна.Можно либо так, либо написать приложение на чём умеете, и что может к db2 коннектиться.

Мы то на много чем умеем, но клиент требует, чтобы кроме блоков и SQL PL в миграции ничего больше не было.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Commit внутри цикла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]