Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit после определенного кол-ва строк. / 21 сообщений из 21, страница 1 из 1
06.02.2017, 14:05
    #39399260
Commit после определенного кол-ва строк.
Добрый день.

Есть ХП.

Код: 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
06.02.2017, 14:11
    #39399267
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit после определенного кол-ва строк.
Джонни_Инглишреализовать commit после insert-а 100-а строк!?Зачем?

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


затем!


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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