powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit после определенного кол-ва строк.
21 сообщений из 21, страница 1 из 1
Commit после определенного кол-ва строк.
    #39399260
Добрый день.

Есть ХП.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
CREATE OR REPLACE PROCEDURE make_pasp_list
AS
  v_ser List_Of_Expired_Passports.Passp_Series%TYPE;
  v_num List_Of_Expired_Passports.Passp_Number%TYPE;
  i integer;
  CURSOR curr
  IS
    SELECT
      lz.PASSP_SERIES ser_ser,
      lz.PASSP_NUMBER num_num
    FROM
      LIST_OF_EXPIRED_PASSPORTS lz
    WHERE
      Lz.Allin IS NULL ;

BEGIN
 i := 1;
  OPEN curr;
  LOOP
  i := i + 1;
 EXIT
  WHEN curr%NOTFOUND;
   -- DBMS_OUTPUT.enable;
    FETCH  curr  INTO v_ser, v_num;
    insert into LIST_EXPIRED_PASP (SER, NUM, ALLL) values (v_ser, v_num, v_ser||v_num);
     if mod(i, 100)= 0 then commit; end if;
      i := 0;
   -- DBMS_OUTPUT.put_line(v_ser ||' '|| v_num);
  END LOOP;
  CLOSE curr;
END;



Прошу подсказать или натолкнуть на мысль как еще реализовать commit после insert-а 100-а строк!?

Ссылки на RTFM приветствуются)
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399267
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_Инглишреализовать commit после insert-а 100-а строк!?Зачем?

Весь этот говнокод нужно заменить одним оператором.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399272
ElicЗачем?


затем!


ElicВесь этот говнокод нужно заменить одним оператором.

Ну это же только пример, знаю что можно обойтись только этим
Код: plsql
1.
 insert into LIST_EXPIRED_PASP (SER, NUM, ALLL) values (.....);
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399293
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_Инглишзатем!Дерзишь?
Джонни_ИнглишНу это же только примерЭто пример говнокода.
Джонни_Инглишзнаю что можно обойтись только этим
Код: plsql
1.
 insert into LIST_EXPIRED_PASP (SER, NUM, ALLL) values (.....);

Думай ещё.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399304
Джонни_Инглишреализовать commit после insert-а 100-а строк!?

Скорее реализовать commit после каждых 100 строк? всего строк ~200 000 000 000.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399305
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_ИнглишПрошу подсказать или натолкнуть на мысль как еще реализовать commit после insert-а 100-а строк!?

Ссылки на RTFM приветствуются)
Фейерштейн очень любит limit (иди по ссылкам oracle magazine)
Правда я не разделяю его пристрастий...

PS. После 100 это как-то несерьезно. Можно придумать более менее разумный пример, когда это число порядка нескольких млн.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399312
dbms_photoshopДжонни_ИнглишПрошу подсказать или натолкнуть на мысль как еще реализовать commit после insert-а 100-а строк!?

Ссылки на RTFM приветствуются)
Фейерштейн очень любит limit (иди по ссылкам oracle magazine)
Правда я не разделяю его пристрастий...

PS. После 100 это как-то несерьезно. Можно придумать более менее разумный пример, когда это число порядка нескольких млн.

Ну образно говоря, ведь потом можно использовать и после млн.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399328
Джонни_Инглиш,

можно так:
1. Создаёшь объектную коллекцию
2. Берёшь свой запрос и открываешь по нему курсор. Далее fetch по 10000 записей в объектную коллекцию.
3. Передаешь свою коллекцию в update и обновляешь только те записи, которые указаны в коллекции.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399332
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LIST_OF_EXPIRED_PASSPORTS -- внешняя таблица?
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399333
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_ИнглишДжонни_Инглиш,

можно так:Спалился? Клона, поучающего самого себя, раскрутить теперь не получится.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399336
Вячеслав Любомудров,

злой ты человек. что смешного? назвал так откуда и заливал.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399337
Elic,

да типа чо нагуглил, то и добавил в тему, Вы же товарисчь скупы на идеи и подсказки.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399345
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_ИнглишВячеслав Любомудров,

злой ты человек. что смешного? назвал так откуда и заливал.Я вообще-то просто спросил

Иначе какой смысл переливать из одной таблицы в другую? Добавить абсолютно тупое поле с конкатенацией?
Или хранить все записи, которые вообще когда-либо были в списке недействительных паспортов? Они ведь еще оттуда и удаляются
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399361
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_ИнглишДжонни_Инглиш,

можно так:
1. Создаёшь объектную коллекцию
2. Берёшь свой запрос и открываешь по нему курсор. Далее fetch по 10000 записей в объектную коллекцию.
3. Передаешь свою коллекцию в update и обновляешь только те записи, которые указаны в коллекции.+ по коллекции, разумеется, нужно бегать forall-ом, а не for-ом, если логика обновления такое позволяет.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399367
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad+ по коллекции, разумеется, нужно бегать forall-омПри forall-е нет бега вообще.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399373
Вячеслав Любомудров,

зачем искать какой-то смысл, зачем это нужно, и в дальнейшем как это будет использоваться?
все таблички в качестве тестового плацдарма.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399375
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadДжонни_ИнглишДжонни_Инглиш,

можно так:
1. Создаёшь объектную коллекцию
2. Берёшь свой запрос и открываешь по нему курсор. Далее fetch по 10000 записей в объектную коллекцию.
3. Передаешь свою коллекцию в update и обновляешь только те записи, которые указаны в коллекции.+ по коллекции, разумеется, нужно бегать forall-ом, а не for-ом, если логика обновления такое позволяет.Я бы не стал серьезно относиться к этому сообщению, учитывая что человек разговаривает сам с собой и ведет речь про update, хотя в стартовом посте insert.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399383
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399385
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicПри forall-е нет бега вообще.Да, но синтаксически с forall и использованием индекса по коллекции все равно воспринимается как цикл.

dbms_photoshopчеловек разговаривает сам с собой и ведет речь про update, хотя в стартовом посте insert.Да уж, это точно.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399386
dbms_photoshopAmKadпропущено...
+ по коллекции, разумеется, нужно бегать forall-ом, а не for-ом, если логика обновления такое позволяет.Я бы не стал серьезно относиться к этому сообщению, учитывая что человек разговаривает сам с собой и ведет речь про update, хотя в стартовом посте insert.

Скорее это нагугленное, что и решил скинуть в тему.
...
Рейтинг: 0 / 0
Commit после определенного кол-ва строк.
    #39399417
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джонни_Инглишdbms_photoshopпропущено...
Я бы не стал серьезно относиться к этому сообщению, учитывая что человек разговаривает сам с собой и ведет речь про update, хотя в стартовом посте insert.

Скорее это нагугленное, что и решил скинуть в тему.Чувак, перестань уже позориться.
Тебе были даны сылки, где понятным языком для самых ленивых (или неспособных пользоваться докой) объясняется про лимит.
Прочитай уже наконец и перестань создавать однообразные темы про работу с курсорами.
Сообщения как ниже только усиливают подозрения, что у тебя шизофрения или типа того.
Джонни_Инглишзачем искать какой-то смысл, зачем это нужно, и в дальнейшем как это будет использоваться?
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit после определенного кол-ва строк.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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